diff --git a/lawful-conversions.cabal b/lawful-conversions.cabal
--- a/lawful-conversions.cabal
+++ b/lawful-conversions.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name: lawful-conversions
-version: 0.1.4.1
+version: 0.1.5
 synopsis: Lawful typeclasses for bidirectional conversion between types
 category: Conversion
 homepage: https://github.com/nikita-volkov/lawful-conversions
@@ -97,6 +97,7 @@
     LawfulConversions.Relations.ByteArrayAndWord8List
     LawfulConversions.Relations.ByteStringAndLazyByteString
     LawfulConversions.Relations.ByteStringAndLazyByteStringBuilder
+    LawfulConversions.Relations.ByteStringAndLazyText
     LawfulConversions.Relations.ByteStringAndShortByteString
     LawfulConversions.Relations.ByteStringAndText
     LawfulConversions.Relations.ByteStringAndTextArray
@@ -116,6 +117,7 @@
     LawfulConversions.Relations.LazyByteStringAndLazyByteStringBuilder
     LawfulConversions.Relations.LazyByteStringAndLazyText
     LawfulConversions.Relations.LazyByteStringAndShortByteString
+    LawfulConversions.Relations.LazyByteStringAndText
     LawfulConversions.Relations.LazyByteStringAndTextArray
     LawfulConversions.Relations.LazyByteStringAndWord8List
     LawfulConversions.Relations.LazyByteStringBuilderAndShortByteString
diff --git a/src/library/LawfulConversions.hs b/src/library/LawfulConversions.hs
--- a/src/library/LawfulConversions.hs
+++ b/src/library/LawfulConversions.hs
@@ -24,17 +24,17 @@
 -- == Examples
 --
 -- @
--- renderNameAndHeight :: 'Text' -> 'Int' -> 'Text'
--- renderNameAndHeight name height =
---   'from' @'Data.Text.Encoding.StrictTextBuilder' $
---     "Height of " <> 'to' name <> " is " <> 'to' (show height)
--- @
---
--- @
 -- combineEncodings :: 'Data.ByteString.Short.ShortByteString' -> 'Data.Primitive.ByteArray' -> ['Word8'] -> 'Data.ByteString.Lazy.ByteString'
 -- combineEncodings a b c =
 --   'from' @'Data.ByteString.Builder.Builder' $
 --     'to' a <> 'to' b <> 'to' c
+-- @
+--
+-- @
+-- renderNameAndHeight :: 'Text' -> 'Int' -> 'Text'
+-- renderNameAndHeight name height =
+--   'from' @'Data.Text.Encoding.StrictTextBuilder' $
+--     "Height of " <> 'from' name <> " is " <> 'from' (show height)
 -- @
 --
 -- = Partial conversions
diff --git a/src/library/LawfulConversions/Classes/Is.hs b/src/library/LawfulConversions/Classes/Is.hs
--- a/src/library/LawfulConversions/Classes/Is.hs
+++ b/src/library/LawfulConversions/Classes/Is.hs
@@ -37,22 +37,22 @@
 --
 -- Instances of @Is@ do not define any functions and serve merely as a statement that the laws are satisfied.
 --
--- ==== __Example: Lazy Text and Text__
+-- ==== Example: Lazy Text and Text
 --
 -- @
--- instance IsSome 'Data.Text.Lazy.LazyText' 'Data.Text.Text' where
+-- instance IsSome "Data.Text.Lazy.LazyText" "Data.Text.Text" where
 --   to = LazyText.'Data.Text.Lazy.fromStrict'
 --
--- instance IsSome 'Data.Text.Text' 'Data.Text.Lazy.LazyText' where
+-- instance IsSome "Data.Text.Text" "Data.Text.Lazy.LazyText" where
 --   to = LazyText.'Data.Text.Lazy.toStrict'
 --
--- instance IsMany 'Data.Text.Lazy.LazyText' 'Data.Text.Text'
+-- instance IsMany "Data.Text.Lazy.LazyText" "Data.Text.Text"
 --
--- instance IsMany 'Data.Text.Text' 'Data.Text.Lazy.LazyText'
+-- instance IsMany "Data.Text.Text" "Data.Text.Lazy.LazyText"
 --
--- instance Is 'Data.Text.Lazy.LazyText' 'Data.Text.Text'
+-- instance Is "Data.Text.Lazy.LazyText" "Data.Text.Text"
 --
--- instance Is 'Data.Text.Text' 'Data.Text.Lazy.LazyText'
+-- instance Is "Data.Text.Text" "Data.Text.Lazy.LazyText"
 -- @
 class (IsMany a b, Is b a) => Is a b
 
diff --git a/src/library/LawfulConversions/Relations.hs b/src/library/LawfulConversions/Relations.hs
--- a/src/library/LawfulConversions/Relations.hs
+++ b/src/library/LawfulConversions/Relations.hs
@@ -10,6 +10,7 @@
 import LawfulConversions.Relations.ByteArrayAndWord8List ()
 import LawfulConversions.Relations.ByteStringAndLazyByteString ()
 import LawfulConversions.Relations.ByteStringAndLazyByteStringBuilder ()
+import LawfulConversions.Relations.ByteStringAndLazyText ()
 import LawfulConversions.Relations.ByteStringAndShortByteString ()
 import LawfulConversions.Relations.ByteStringAndText ()
 import LawfulConversions.Relations.ByteStringAndTextArray ()
@@ -29,6 +30,7 @@
 import LawfulConversions.Relations.LazyByteStringAndLazyByteStringBuilder ()
 import LawfulConversions.Relations.LazyByteStringAndLazyText ()
 import LawfulConversions.Relations.LazyByteStringAndShortByteString ()
+import LawfulConversions.Relations.LazyByteStringAndText ()
 import LawfulConversions.Relations.LazyByteStringAndTextArray ()
 import LawfulConversions.Relations.LazyByteStringAndWord8List ()
 import LawfulConversions.Relations.LazyByteStringBuilderAndShortByteString ()
diff --git a/src/library/LawfulConversions/Relations/ByteStringAndLazyText.hs b/src/library/LawfulConversions/Relations/ByteStringAndLazyText.hs
new file mode 100644
--- /dev/null
+++ b/src/library/LawfulConversions/Relations/ByteStringAndLazyText.hs
@@ -0,0 +1,19 @@
+{-# OPTIONS_GHC -Wno-orphans #-}
+
+module LawfulConversions.Relations.ByteStringAndLazyText where
+
+import qualified Data.ByteString.Lazy
+import qualified Data.Text.Encoding.Error
+import qualified Data.Text.Lazy
+import qualified Data.Text.Lazy.Encoding
+import LawfulConversions.Classes
+import LawfulConversions.Prelude
+
+-- | UTF-8 codec.
+instance IsSome ByteString Data.Text.Lazy.Text where
+  to = Data.ByteString.Lazy.toStrict . Data.Text.Lazy.Encoding.encodeUtf8
+  maybeFrom = either (const Nothing) Just . Data.Text.Lazy.Encoding.decodeUtf8' . Data.ByteString.Lazy.fromStrict
+
+-- | Lenient UTF-8 decoding.
+instance IsMany ByteString Data.Text.Lazy.Text where
+  from = Data.Text.Lazy.Encoding.decodeUtf8With Data.Text.Encoding.Error.lenientDecode . Data.ByteString.Lazy.fromStrict
diff --git a/src/library/LawfulConversions/Relations/LazyByteStringAndLazyText.hs b/src/library/LawfulConversions/Relations/LazyByteStringAndLazyText.hs
--- a/src/library/LawfulConversions/Relations/LazyByteStringAndLazyText.hs
+++ b/src/library/LawfulConversions/Relations/LazyByteStringAndLazyText.hs
@@ -3,11 +3,17 @@
 module LawfulConversions.Relations.LazyByteStringAndLazyText where
 
 import qualified Data.ByteString.Lazy
+import qualified Data.Text.Encoding.Error
 import qualified Data.Text.Lazy
 import qualified Data.Text.Lazy.Encoding
 import LawfulConversions.Classes
 import LawfulConversions.Prelude
 
+-- | UTF-8 codec.
 instance IsSome Data.ByteString.Lazy.ByteString Data.Text.Lazy.Text where
   to = Data.Text.Lazy.Encoding.encodeUtf8
   maybeFrom = either (const Nothing) Just . Data.Text.Lazy.Encoding.decodeUtf8'
+
+-- | Lenient UTF-8 decoding.
+instance IsMany Data.ByteString.Lazy.ByteString Data.Text.Lazy.Text where
+  from = Data.Text.Lazy.Encoding.decodeUtf8With Data.Text.Encoding.Error.lenientDecode
diff --git a/src/library/LawfulConversions/Relations/LazyByteStringAndText.hs b/src/library/LawfulConversions/Relations/LazyByteStringAndText.hs
new file mode 100644
--- /dev/null
+++ b/src/library/LawfulConversions/Relations/LazyByteStringAndText.hs
@@ -0,0 +1,20 @@
+{-# OPTIONS_GHC -Wno-orphans #-}
+
+module LawfulConversions.Relations.LazyByteStringAndText where
+
+import qualified Data.ByteString.Lazy
+import qualified Data.Text
+import qualified Data.Text.Encoding.Error
+import qualified Data.Text.Lazy
+import qualified Data.Text.Lazy.Encoding
+import LawfulConversions.Classes
+import LawfulConversions.Prelude
+
+-- | UTF-8 codec.
+instance IsSome Data.ByteString.Lazy.ByteString Data.Text.Text where
+  to = Data.Text.Lazy.Encoding.encodeUtf8 . Data.Text.Lazy.fromStrict
+  maybeFrom = either (const Nothing) (Just . Data.Text.Lazy.toStrict) . Data.Text.Lazy.Encoding.decodeUtf8'
+
+-- | Lenient UTF-8 decoding.
+instance IsMany Data.ByteString.Lazy.ByteString Data.Text.Text where
+  from = Data.Text.Lazy.toStrict . Data.Text.Lazy.Encoding.decodeUtf8With Data.Text.Encoding.Error.lenientDecode
