diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@
 
 List of design decisions:
 
-* Keep everything at one place (There are one two modules and Intro.Trustworthy is only there for Safe Haskell)
+* Keep everything at one place (There are three modules and Intro.Trustworthy is only there for Safe Haskell)
 * Conservative extension over the base Prelude
 * Rely only on very common external libraries
 * Avoid writing custom functions
@@ -27,4 +27,4 @@
 * Prefer generic functions
 * Debugging functions, like 'Intro.Trustworthy.trace' and 'undefined' are available but produce compile time warnings
 * Don't provide error, only panic instead
-* Compatibility with Control.Lens
+* Compatibility with unqualified import of Control.Lens
diff --git a/intro.cabal b/intro.cabal
--- a/intro.cabal
+++ b/intro.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           intro
-version:        0.2.0.1
+version:        0.2.0.2
 synopsis:       "Fixed Prelude" - Mostly total and safe, provides Text and Monad transformers
 description:    Intro is a modern Prelude which provides safe alternatives
                 for most of the partial functions and follows other
@@ -91,14 +91,26 @@
     , transformers         >= 0.4     && < 0.6
     , unordered-containers >= 0.2     && < 0.3
     , writer-cps-mtl       >= 0.1.1.2 && < 0.2
+    , QuickCheck
+    , aeson
+    , async
+    , attoparsec
+    , cassava
+    , contravariant
+    , filepath
     , intro
     , lens
-    , QuickCheck
+    , megaparsec
+    , profunctors
     , quickcheck-instances
   if impl(ghc < 8.0)
     build-depends:
         semigroups >= 0.9 && < 1
   other-modules:
+      AesonCompat
+      AttoparsecCompat
       BaseCompat
       LensCompat
+      LibCompat
+      MegaparsecCompat
   default-language: Haskell2010
diff --git a/src/Intro.hs b/src/Intro.hs
--- a/src/Intro.hs
+++ b/src/Intro.hs
@@ -28,7 +28,7 @@
 --
 -- List of design decisions:
 --
--- * Keep everything at one place (There are one two modules and Intro.Trustworthy is only there for Safe Haskell)
+-- * Keep everything at one place (There are only three modules and Intro.Trustworthy is only there for Safe Haskell)
 -- * Conservative extension over the base Prelude
 -- * Rely only on very common external libraries
 -- * Avoid writing custom functions
@@ -40,7 +40,7 @@
 -- * Prefer generic functions
 -- * Debugging functions, like 'trace' and 'undefined' are available but produce compile time warnings
 -- * Don't provide error, only panic instead
--- * Compatibility with Control.Lens
+-- * Compatibility with unqualified import of Control.Lens
 --
 -- Some 'Prelude' functions are missing from 'Intro'. More general variants are available for the following functions:
 --
@@ -502,7 +502,7 @@
   , (Control.Monad.=<<)
   , (Control.Monad.<=<)
   , (Control.Monad.>=>)
-  , Control.Monad.MonadPlus(mzero, mplus)
+  , Control.Monad.MonadPlus
   , Control.Monad.join
   , Control.Monad.guard
   , Control.Monad.when
diff --git a/src/Intro/ConvertString.hs b/src/Intro/ConvertString.hs
--- a/src/Intro/ConvertString.hs
+++ b/src/Intro/ConvertString.hs
@@ -31,6 +31,7 @@
 import Control.DeepSeq (NFData)
 import Data.Binary (Binary)
 import Data.ByteString (ByteString)
+import Data.ByteString.Short (ShortByteString)
 import Data.Either.Extra (eitherToMaybe)
 import Data.Eq (Eq)
 import Data.Foldable (Foldable)
@@ -44,11 +45,11 @@
 import Data.Traversable (Traversable)
 import Data.Word (Word8)
 import GHC.Generics (Generic, Generic1)
-import Text.Show (Show)
 import Text.Read (Read)
+import Text.Show (Show)
 import qualified Data.ByteString as B
-import qualified Data.ByteString.Short as S
 import qualified Data.ByteString.Lazy as BL
+import qualified Data.ByteString.Short as S
 import qualified Data.Text as T
 import qualified Data.Text.Encoding as TE
 import qualified Data.Text.Lazy as TL
@@ -99,77 +100,77 @@
 instance Binary a => Binary (Lenient a)
 instance NFData a => NFData (Lenient a)
 
-instance ConvertString BL.ByteString     (Lenient String)  where {-# INLINE convertString #-}; convertString = Lenient . TL.unpack . TLE.decodeUtf8With lenientDecode
-instance ConvertString BL.ByteString     (Lenient TL.Text) where {-# INLINE convertString #-}; convertString = Lenient . TLE.decodeUtf8With lenientDecode
-instance ConvertString BL.ByteString     (Lenient Text)    where {-# INLINE convertString #-}; convertString = Lenient . TE.decodeUtf8With lenientDecode . BL.toStrict
-instance ConvertString BL.ByteString     (Maybe   String)  where {-# INLINE convertString #-}; convertString = fmap TL.unpack . eitherToMaybe . TLE.decodeUtf8'
-instance ConvertString BL.ByteString     (Maybe   TL.Text) where {-# INLINE convertString #-}; convertString = eitherToMaybe . TLE.decodeUtf8'
-instance ConvertString BL.ByteString     (Maybe   Text)    where {-# INLINE convertString #-}; convertString = eitherToMaybe . TE.decodeUtf8' . BL.toStrict
-instance ConvertString BL.ByteString     BL.ByteString     where {-# INLINE convertString #-}; convertString = id
-instance ConvertString BL.ByteString     ByteString        where {-# INLINE convertString #-}; convertString = BL.toStrict
-instance ConvertString BL.ByteString     S.ShortByteString where {-# INLINE convertString #-}; convertString = S.toShort . BL.toStrict
-instance ConvertString BL.ByteString     [Word8]           where {-# INLINE convertString #-}; convertString = BL.unpack
-instance ConvertString ByteString        (Lenient String)  where {-# INLINE convertString #-}; convertString = Lenient . T.unpack . TE.decodeUtf8With lenientDecode
-instance ConvertString ByteString        (Lenient TL.Text) where {-# INLINE convertString #-}; convertString = Lenient . TLE.decodeUtf8With lenientDecode . BL.fromStrict
-instance ConvertString ByteString        (Lenient Text)    where {-# INLINE convertString #-}; convertString = Lenient . TE.decodeUtf8With lenientDecode
-instance ConvertString ByteString        (Maybe   String)  where {-# INLINE convertString #-}; convertString = fmap T.unpack . eitherToMaybe . TE.decodeUtf8'
-instance ConvertString ByteString        (Maybe   TL.Text) where {-# INLINE convertString #-}; convertString = eitherToMaybe . TLE.decodeUtf8' . BL.fromStrict
-instance ConvertString ByteString        (Maybe   Text)    where {-# INLINE convertString #-}; convertString = eitherToMaybe . TE.decodeUtf8'
-instance ConvertString ByteString        BL.ByteString     where {-# INLINE convertString #-}; convertString = BL.fromStrict
-instance ConvertString ByteString        ByteString        where {-# INLINE convertString #-}; convertString = id
-instance ConvertString ByteString        S.ShortByteString where {-# INLINE convertString #-}; convertString = S.toShort
-instance ConvertString ByteString        [Word8]           where {-# INLINE convertString #-}; convertString = B.unpack
-instance ConvertString S.ShortByteString (Lenient String)  where {-# INLINE convertString #-}; convertString = Lenient . T.unpack . TE.decodeUtf8With lenientDecode . S.fromShort
-instance ConvertString S.ShortByteString (Lenient TL.Text) where {-# INLINE convertString #-}; convertString = Lenient . TLE.decodeUtf8With lenientDecode . BL.fromStrict . S.fromShort
-instance ConvertString S.ShortByteString (Lenient Text)    where {-# INLINE convertString #-}; convertString = Lenient . TE.decodeUtf8With lenientDecode . S.fromShort
-instance ConvertString S.ShortByteString (Maybe   String)  where {-# INLINE convertString #-}; convertString = fmap T.unpack . eitherToMaybe . TE.decodeUtf8' . S.fromShort
-instance ConvertString S.ShortByteString (Maybe   TL.Text) where {-# INLINE convertString #-}; convertString = eitherToMaybe . TLE.decodeUtf8' . BL.fromStrict . S.fromShort
-instance ConvertString S.ShortByteString (Maybe   Text)    where {-# INLINE convertString #-}; convertString = eitherToMaybe . TE.decodeUtf8' . S.fromShort
-instance ConvertString S.ShortByteString BL.ByteString     where {-# INLINE convertString #-}; convertString = BL.fromStrict . S.fromShort
-instance ConvertString S.ShortByteString ByteString        where {-# INLINE convertString #-}; convertString = S.fromShort
-instance ConvertString S.ShortByteString S.ShortByteString where {-# INLINE convertString #-}; convertString = id
-instance ConvertString S.ShortByteString [Word8]           where {-# INLINE convertString #-}; convertString = S.unpack
-instance ConvertString String            BL.ByteString     where {-# INLINE convertString #-}; convertString = TLE.encodeUtf8 . TL.pack
-instance ConvertString String            ByteString        where {-# INLINE convertString #-}; convertString = TE.encodeUtf8 . T.pack
-instance ConvertString String            S.ShortByteString where {-# INLINE convertString #-}; convertString = S.toShort . TE.encodeUtf8 . T.pack
-instance ConvertString String            String            where {-# INLINE convertString #-}; convertString = id
-instance ConvertString String            TL.Text           where {-# INLINE convertString #-}; convertString = TL.pack
-instance ConvertString String            Text              where {-# INLINE convertString #-}; convertString = T.pack
-instance ConvertString String            [Word8]           where {-# INLINE convertString #-}; convertString = BL.unpack . TLE.encodeUtf8 . TL.pack
-instance ConvertString TL.Text           BL.ByteString     where {-# INLINE convertString #-}; convertString = TLE.encodeUtf8
-instance ConvertString TL.Text           ByteString        where {-# INLINE convertString #-}; convertString = BL.toStrict . TLE.encodeUtf8
-instance ConvertString TL.Text           S.ShortByteString where {-# INLINE convertString #-}; convertString = S.toShort . BL.toStrict . TLE.encodeUtf8
-instance ConvertString TL.Text           String            where {-# INLINE convertString #-}; convertString = TL.unpack
-instance ConvertString TL.Text           TL.Text           where {-# INLINE convertString #-}; convertString = id
-instance ConvertString TL.Text           Text              where {-# INLINE convertString #-}; convertString = TL.toStrict
-instance ConvertString TL.Text           [Word8]           where {-# INLINE convertString #-}; convertString = BL.unpack . TLE.encodeUtf8
-instance ConvertString Text              BL.ByteString     where {-# INLINE convertString #-}; convertString = BL.fromStrict . TE.encodeUtf8
-instance ConvertString Text              ByteString        where {-# INLINE convertString #-}; convertString = TE.encodeUtf8
-instance ConvertString Text              S.ShortByteString where {-# INLINE convertString #-}; convertString = S.toShort . TE.encodeUtf8
-instance ConvertString Text              String            where {-# INLINE convertString #-}; convertString = T.unpack
-instance ConvertString Text              TL.Text           where {-# INLINE convertString #-}; convertString = TL.fromStrict
-instance ConvertString Text              Text              where {-# INLINE convertString #-}; convertString = id
-instance ConvertString Text              [Word8]           where {-# INLINE convertString #-}; convertString = BL.unpack . BL.fromStrict . TE.encodeUtf8
-instance ConvertString [Word8]           (Lenient String)  where {-# INLINE convertString #-}; convertString = Lenient . TL.unpack . TLE.decodeUtf8With lenientDecode . BL.pack
-instance ConvertString [Word8]           (Lenient TL.Text) where {-# INLINE convertString #-}; convertString = Lenient . TLE.decodeUtf8With lenientDecode . BL.pack
-instance ConvertString [Word8]           (Lenient Text)    where {-# INLINE convertString #-}; convertString = Lenient . TE.decodeUtf8With lenientDecode . B.pack
-instance ConvertString [Word8]           (Maybe String)    where {-# INLINE convertString #-}; convertString = fmap TL.unpack . eitherToMaybe . TLE.decodeUtf8' . BL.pack
-instance ConvertString [Word8]           (Maybe TL.Text)   where {-# INLINE convertString #-}; convertString = eitherToMaybe . TLE.decodeUtf8' . BL.pack
-instance ConvertString [Word8]           (Maybe Text)      where {-# INLINE convertString #-}; convertString = eitherToMaybe . TE.decodeUtf8' . B.pack
-instance ConvertString [Word8]           BL.ByteString     where {-# INLINE convertString #-}; convertString = BL.pack
-instance ConvertString [Word8]           ByteString        where {-# INLINE convertString #-}; convertString = B.pack
-instance ConvertString [Word8]           S.ShortByteString where {-# INLINE convertString #-}; convertString = S.pack
-instance ConvertString [Word8]           [Word8]           where {-# INLINE convertString #-}; convertString = id
+instance ConvertString BL.ByteString   (Lenient String)  where {-# INLINE convertString #-}; convertString = Lenient . TL.unpack . TLE.decodeUtf8With lenientDecode
+instance ConvertString BL.ByteString   (Lenient TL.Text) where {-# INLINE convertString #-}; convertString = Lenient . TLE.decodeUtf8With lenientDecode
+instance ConvertString BL.ByteString   (Lenient Text)    where {-# INLINE convertString #-}; convertString = Lenient . TE.decodeUtf8With lenientDecode . BL.toStrict
+instance ConvertString BL.ByteString   (Maybe   String)  where {-# INLINE convertString #-}; convertString = fmap TL.unpack . eitherToMaybe . TLE.decodeUtf8'
+instance ConvertString BL.ByteString   (Maybe   TL.Text) where {-# INLINE convertString #-}; convertString = eitherToMaybe . TLE.decodeUtf8'
+instance ConvertString BL.ByteString   (Maybe   Text)    where {-# INLINE convertString #-}; convertString = eitherToMaybe . TE.decodeUtf8' . BL.toStrict
+instance ConvertString BL.ByteString   BL.ByteString     where {-# INLINE convertString #-}; convertString = id
+instance ConvertString BL.ByteString   ByteString        where {-# INLINE convertString #-}; convertString = BL.toStrict
+instance ConvertString BL.ByteString   ShortByteString   where {-# INLINE convertString #-}; convertString = S.toShort . BL.toStrict
+instance ConvertString BL.ByteString   [Word8]           where {-# INLINE convertString #-}; convertString = BL.unpack
+instance ConvertString ByteString      (Lenient String)  where {-# INLINE convertString #-}; convertString = Lenient . T.unpack . TE.decodeUtf8With lenientDecode
+instance ConvertString ByteString      (Lenient TL.Text) where {-# INLINE convertString #-}; convertString = Lenient . TLE.decodeUtf8With lenientDecode . BL.fromStrict
+instance ConvertString ByteString      (Lenient Text)    where {-# INLINE convertString #-}; convertString = Lenient . TE.decodeUtf8With lenientDecode
+instance ConvertString ByteString      (Maybe   String)  where {-# INLINE convertString #-}; convertString = fmap T.unpack . eitherToMaybe . TE.decodeUtf8'
+instance ConvertString ByteString      (Maybe   TL.Text) where {-# INLINE convertString #-}; convertString = eitherToMaybe . TLE.decodeUtf8' . BL.fromStrict
+instance ConvertString ByteString      (Maybe   Text)    where {-# INLINE convertString #-}; convertString = eitherToMaybe . TE.decodeUtf8'
+instance ConvertString ByteString      BL.ByteString     where {-# INLINE convertString #-}; convertString = BL.fromStrict
+instance ConvertString ByteString      ByteString        where {-# INLINE convertString #-}; convertString = id
+instance ConvertString ByteString      ShortByteString   where {-# INLINE convertString #-}; convertString = S.toShort
+instance ConvertString ByteString      [Word8]           where {-# INLINE convertString #-}; convertString = B.unpack
+instance ConvertString ShortByteString (Lenient String)  where {-# INLINE convertString #-}; convertString = Lenient . T.unpack . TE.decodeUtf8With lenientDecode . S.fromShort
+instance ConvertString ShortByteString (Lenient TL.Text) where {-# INLINE convertString #-}; convertString = Lenient . TLE.decodeUtf8With lenientDecode . BL.fromStrict . S.fromShort
+instance ConvertString ShortByteString (Lenient Text)    where {-# INLINE convertString #-}; convertString = Lenient . TE.decodeUtf8With lenientDecode . S.fromShort
+instance ConvertString ShortByteString (Maybe   String)  where {-# INLINE convertString #-}; convertString = fmap T.unpack . eitherToMaybe . TE.decodeUtf8' . S.fromShort
+instance ConvertString ShortByteString (Maybe   TL.Text) where {-# INLINE convertString #-}; convertString = eitherToMaybe . TLE.decodeUtf8' . BL.fromStrict . S.fromShort
+instance ConvertString ShortByteString (Maybe   Text)    where {-# INLINE convertString #-}; convertString = eitherToMaybe . TE.decodeUtf8' . S.fromShort
+instance ConvertString ShortByteString BL.ByteString     where {-# INLINE convertString #-}; convertString = BL.fromStrict . S.fromShort
+instance ConvertString ShortByteString ByteString        where {-# INLINE convertString #-}; convertString = S.fromShort
+instance ConvertString ShortByteString ShortByteString   where {-# INLINE convertString #-}; convertString = id
+instance ConvertString ShortByteString [Word8]           where {-# INLINE convertString #-}; convertString = S.unpack
+instance ConvertString String          BL.ByteString     where {-# INLINE convertString #-}; convertString = TLE.encodeUtf8 . TL.pack
+instance ConvertString String          ByteString        where {-# INLINE convertString #-}; convertString = TE.encodeUtf8 . T.pack
+instance ConvertString String          ShortByteString   where {-# INLINE convertString #-}; convertString = S.toShort . TE.encodeUtf8 . T.pack
+instance ConvertString String          String            where {-# INLINE convertString #-}; convertString = id
+instance ConvertString String          TL.Text           where {-# INLINE convertString #-}; convertString = TL.pack
+instance ConvertString String          Text              where {-# INLINE convertString #-}; convertString = T.pack
+instance ConvertString String          [Word8]           where {-# INLINE convertString #-}; convertString = BL.unpack . TLE.encodeUtf8 . TL.pack
+instance ConvertString TL.Text         BL.ByteString     where {-# INLINE convertString #-}; convertString = TLE.encodeUtf8
+instance ConvertString TL.Text         ByteString        where {-# INLINE convertString #-}; convertString = BL.toStrict . TLE.encodeUtf8
+instance ConvertString TL.Text         ShortByteString   where {-# INLINE convertString #-}; convertString = S.toShort . BL.toStrict . TLE.encodeUtf8
+instance ConvertString TL.Text         String            where {-# INLINE convertString #-}; convertString = TL.unpack
+instance ConvertString TL.Text         TL.Text           where {-# INLINE convertString #-}; convertString = id
+instance ConvertString TL.Text         Text              where {-# INLINE convertString #-}; convertString = TL.toStrict
+instance ConvertString TL.Text         [Word8]           where {-# INLINE convertString #-}; convertString = BL.unpack . TLE.encodeUtf8
+instance ConvertString Text            BL.ByteString     where {-# INLINE convertString #-}; convertString = BL.fromStrict . TE.encodeUtf8
+instance ConvertString Text            ByteString        where {-# INLINE convertString #-}; convertString = TE.encodeUtf8
+instance ConvertString Text            ShortByteString   where {-# INLINE convertString #-}; convertString = S.toShort . TE.encodeUtf8
+instance ConvertString Text            String            where {-# INLINE convertString #-}; convertString = T.unpack
+instance ConvertString Text            TL.Text           where {-# INLINE convertString #-}; convertString = TL.fromStrict
+instance ConvertString Text            Text              where {-# INLINE convertString #-}; convertString = id
+instance ConvertString Text            [Word8]           where {-# INLINE convertString #-}; convertString = BL.unpack . BL.fromStrict . TE.encodeUtf8
+instance ConvertString [Word8]         (Lenient String)  where {-# INLINE convertString #-}; convertString = Lenient . TL.unpack . TLE.decodeUtf8With lenientDecode . BL.pack
+instance ConvertString [Word8]         (Lenient TL.Text) where {-# INLINE convertString #-}; convertString = Lenient . TLE.decodeUtf8With lenientDecode . BL.pack
+instance ConvertString [Word8]         (Lenient Text)    where {-# INLINE convertString #-}; convertString = Lenient . TE.decodeUtf8With lenientDecode . B.pack
+instance ConvertString [Word8]         (Maybe String)    where {-# INLINE convertString #-}; convertString = fmap TL.unpack . eitherToMaybe . TLE.decodeUtf8' . BL.pack
+instance ConvertString [Word8]         (Maybe TL.Text)   where {-# INLINE convertString #-}; convertString = eitherToMaybe . TLE.decodeUtf8' . BL.pack
+instance ConvertString [Word8]         (Maybe Text)      where {-# INLINE convertString #-}; convertString = eitherToMaybe . TE.decodeUtf8' . B.pack
+instance ConvertString [Word8]         BL.ByteString     where {-# INLINE convertString #-}; convertString = BL.pack
+instance ConvertString [Word8]         ByteString        where {-# INLINE convertString #-}; convertString = B.pack
+instance ConvertString [Word8]         ShortByteString   where {-# INLINE convertString #-}; convertString = S.pack
+instance ConvertString [Word8]         [Word8]           where {-# INLINE convertString #-}; convertString = id
 
-instance EncodeString  String            BL.ByteString
-instance EncodeString  String            ByteString
-instance EncodeString  String            S.ShortByteString
-instance EncodeString  String            [Word8]
-instance EncodeString  TL.Text           BL.ByteString
-instance EncodeString  TL.Text           ByteString
-instance EncodeString  TL.Text           S.ShortByteString
-instance EncodeString  TL.Text           [Word8]
-instance EncodeString  Text              BL.ByteString
-instance EncodeString  Text              ByteString
-instance EncodeString  Text              S.ShortByteString
-instance EncodeString  Text              [Word8]
+instance EncodeString  String          BL.ByteString
+instance EncodeString  String          ByteString
+instance EncodeString  String          ShortByteString
+instance EncodeString  String          [Word8]
+instance EncodeString  TL.Text         BL.ByteString
+instance EncodeString  TL.Text         ByteString
+instance EncodeString  TL.Text         ShortByteString
+instance EncodeString  TL.Text         [Word8]
+instance EncodeString  Text            BL.ByteString
+instance EncodeString  Text            ByteString
+instance EncodeString  Text            ShortByteString
+instance EncodeString  Text            [Word8]
diff --git a/test/AesonCompat.hs b/test/AesonCompat.hs
new file mode 100644
--- /dev/null
+++ b/test/AesonCompat.hs
@@ -0,0 +1,7 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+module AesonCompat (
+  module X
+) where
+
+import Intro as X
+import Data.Aeson as X hiding ((.:))
diff --git a/test/AttoparsecCompat.hs b/test/AttoparsecCompat.hs
new file mode 100644
--- /dev/null
+++ b/test/AttoparsecCompat.hs
@@ -0,0 +1,7 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+module AttoparsecCompat (
+  module X
+) where
+
+import Intro as X
+import Data.Attoparsec.ByteString as X hiding (take, skip, takeWhile)
diff --git a/test/LibCompat.hs b/test/LibCompat.hs
new file mode 100644
--- /dev/null
+++ b/test/LibCompat.hs
@@ -0,0 +1,11 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+module LibCompat (
+  module X
+) where
+
+import Control.Concurrent.Async as X
+import Data.Functor.Contravariant as X
+import Data.Csv as X hiding (lookup, (.:))
+import Data.Profunctor as X
+import Intro as X
+import System.FilePath as X
diff --git a/test/MegaparsecCompat.hs b/test/MegaparsecCompat.hs
new file mode 100644
--- /dev/null
+++ b/test/MegaparsecCompat.hs
@@ -0,0 +1,8 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+module MegaparsecCompat (
+  module X
+) where
+
+import Intro as X
+import Text.Megaparsec.Text as X
+import Text.Megaparsec.Lexer as X
diff --git a/test/test.hs b/test/test.hs
--- a/test/test.hs
+++ b/test/test.hs
@@ -5,10 +5,13 @@
 {-# LANGUAGE ScopedTypeVariables #-}
 module Main where
 
-import BaseCompat ()
 import Data.ByteString.Short (ShortByteString)
 import Intro
+import LibCompat ()
 import LensCompat ()
+import AesonCompat ()
+import AttoparsecCompat ()
+import MegaparsecCompat ()
 import Test.QuickCheck
 import Test.QuickCheck.Instances ()
 
