-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Efficient conversion of values into Text
--   
--   <tt>text-show</tt> offers a replacement for the <tt>Show</tt>
--   typeclass intended for use with <tt>Text</tt> instead of
--   <tt>String</tt>s. This package was created in the spirit of
--   <tt><a>bytestring-show</a></tt>.
--   
--   For most uses, simply importing <a>TextShow</a> will suffice:
--   
--   <pre>
--   module Main where
--   
--   import TextShow
--   
--   main :: IO ()
--   main = printT (Just "Hello, World!")
--   </pre>
--   
--   See also the <a>naming conventions</a> page.
--   
--   Support for automatically deriving <tt>TextShow</tt> instances can be
--   found in the <a>TextShow.TH</a> and <a>TextShow.Generic</a> modules.
--   
--   <tt>text-show</tt> only provides instances for data types in the
--   following packages:
--   
--   <ul>
--   <li><pre><a>array</a></pre></li>
--   <li><pre><a>base</a></pre></li>
--   <li><pre><a>bytestring</a></pre></li>
--   <li><pre><a>text</a></pre></li>
--   </ul>
--   
--   This policy is in place to keep <tt>text-show</tt>'s dependencies
--   reasonably light. If you need a <tt>TextShow</tt> instance for a
--   library that is not in this list, it may be covered by the
--   <tt><a>text-show-instances</a></tt> library.
@package text-show
@version 3.11.2


-- | <tt>TextShow</tt> instance for <tt>ConsoleEvent</tt>. Only provided if
--   using Windows, and not using GHCJS.
--   
--   <i>Since: 2</i>
module TextShow.GHC.Conc.Windows


-- | <tt>TextShow</tt> instance for <tt>GCStats</tt>.
--   
--   <i>Since: 2</i>
module TextShow.GHC.Stats


-- | <tt>TextShow</tt> instance for <a>Maybe</a>.
--   
--   <i>Since: 2</i>
module TextShow.Data.Maybe
instance TextShow.Classes.TextShow1 GHC.Internal.Maybe.Maybe
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Maybe.Maybe a)


-- | <tt>TextShow</tt> instances for data types in the
--   <a>Data.Semigroup</a> module.
--   
--   <i>Since: 3</i>
module TextShow.Data.Semigroup
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow1 (Data.Semigroup.Arg a)
instance TextShow.Classes.TextShow1 Data.Semigroup.First
instance TextShow.Classes.TextShow1 Data.Semigroup.Last
instance TextShow.Classes.TextShow1 Data.Semigroup.Max
instance TextShow.Classes.TextShow1 Data.Semigroup.Min
instance TextShow.Classes.TextShow1 Data.Semigroup.WrappedMonoid
instance TextShow.Classes.TextShow2 Data.Semigroup.Arg
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b) => TextShow.Classes.TextShow (Data.Semigroup.Arg a b)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Semigroup.First a)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Semigroup.Last a)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Semigroup.Max a)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Semigroup.Min a)
instance TextShow.Classes.TextShow m => TextShow.Classes.TextShow (Data.Semigroup.WrappedMonoid m)


-- | <tt>TextShow</tt> instance for <a>Either</a>.
--   
--   <i>Since: 2</i>
module TextShow.Data.Either
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow1 (GHC.Internal.Data.Either.Either a)
instance TextShow.Classes.TextShow2 GHC.Internal.Data.Either.Either
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b) => TextShow.Classes.TextShow (GHC.Internal.Data.Either.Either a b)


-- | <tt>TextShow</tt> instance for <a>Bool</a>.
--   
--   <i>Since: 2</i>
module TextShow.Data.Bool
instance TextShow.Classes.TextShow GHC.Types.Bool


-- | Optional orphan <a>TextShow</a>, <a>TextShow1</a>, and
--   <a>TextShow2</a> instances for functions.
--   
--   <i>Since: 2</i>
module TextShow.Functions
instance TextShow.Classes.TextShow1 ((->) a)
instance TextShow.Classes.TextShow2 (->)
instance TextShow.Classes.TextShow (a -> b)


-- | <a>TextShow</a> instance for <a>Void</a>.
--   
--   <i>Since: 2</i>
module TextShow.Data.Void
instance TextShow.Classes.TextShow GHC.Internal.Base.Void


-- | <a>TextShow</a> instances for data types in the <tt>Typeable</tt>
--   module.
--   
--   <i>Since: 2</i>
module TextShow.Data.Typeable
instance TextShow.Classes.TextShow1 GHC.Internal.Data.Typeable.Internal.TypeRep
instance TextShow.Classes.TextShow GHC.Types.Module
instance TextShow.Classes.TextShow GHC.Internal.Data.Typeable.Internal.SomeTypeRep
instance TextShow.Classes.TextShow GHC.Types.TrName
instance TextShow.Classes.TextShow GHC.Types.TyCon
instance forall k (a :: k). TextShow.Classes.TextShow (GHC.Internal.Data.Typeable.Internal.TypeRep a)


-- | <tt>TextShow</tt> instance for propositional equality.
--   
--   <i>Since: 2</i>
module TextShow.Data.Type.Equality
instance TextShow.Classes.TextShow1 ((GHC.Internal.Data.Type.Equality.:~:) a)
instance forall k1 (a :: k1). TextShow.Classes.TextShow1 ((GHC.Internal.Data.Type.Equality.:~~:) a)
instance TextShow.Classes.TextShow2 (GHC.Internal.Data.Type.Equality.:~:)
instance TextShow.Classes.TextShow2 (GHC.Internal.Data.Type.Equality.:~~:)
instance forall k (a :: k) (b :: k). TextShow.Classes.TextShow (a GHC.Internal.Data.Type.Equality.:~: b)
instance forall k1 k2 (a :: k1) (b :: k2). TextShow.Classes.TextShow (a GHC.Internal.Data.Type.Equality.:~~: b)


-- | <tt>TextShow</tt> instance for representational equality.
--   
--   <i>Since: 2</i>
module TextShow.Data.Type.Coercion
instance TextShow.Classes.TextShow1 (GHC.Internal.Data.Type.Coercion.Coercion a)
instance TextShow.Classes.TextShow2 GHC.Internal.Data.Type.Coercion.Coercion
instance forall k (a :: k) (b :: k). TextShow.Classes.TextShow (GHC.Internal.Data.Type.Coercion.Coercion a b)


-- | <a>TextShow</a> instances for tuple types.
--   
--   <i>Since: 2</i>
module TextShow.Data.Tuple
instance TextShow.Classes.TextShow1 GHC.Tuple.Solo
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i) => TextShow.Classes.TextShow1 ((,,,,,,,,,) a b c d e f g h i)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j) => TextShow.Classes.TextShow1 ((,,,,,,,,,,) a b c d e f g h i j)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k) => TextShow.Classes.TextShow1 ((,,,,,,,,,,,) a b c d e f g h i j k)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k, TextShow.Classes.TextShow l) => TextShow.Classes.TextShow1 ((,,,,,,,,,,,,) a b c d e f g h i j k l)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k, TextShow.Classes.TextShow l, TextShow.Classes.TextShow m) => TextShow.Classes.TextShow1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k, TextShow.Classes.TextShow l, TextShow.Classes.TextShow m, TextShow.Classes.TextShow n) => TextShow.Classes.TextShow1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow1 ((,) a)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b) => TextShow.Classes.TextShow1 ((,,) a b)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c) => TextShow.Classes.TextShow1 ((,,,) a b c)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d) => TextShow.Classes.TextShow1 ((,,,,) a b c d)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e) => TextShow.Classes.TextShow1 ((,,,,,) a b c d e)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f) => TextShow.Classes.TextShow1 ((,,,,,,) a b c d e f)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g) => TextShow.Classes.TextShow1 ((,,,,,,,) a b c d e f g)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h) => TextShow.Classes.TextShow1 ((,,,,,,,,) a b c d e f g h)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h) => TextShow.Classes.TextShow2 ((,,,,,,,,,) a b c d e f g h)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i) => TextShow.Classes.TextShow2 ((,,,,,,,,,,) a b c d e f g h i)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j) => TextShow.Classes.TextShow2 ((,,,,,,,,,,,) a b c d e f g h i j)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k) => TextShow.Classes.TextShow2 ((,,,,,,,,,,,,) a b c d e f g h i j k)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k, TextShow.Classes.TextShow l) => TextShow.Classes.TextShow2 ((,,,,,,,,,,,,,) a b c d e f g h i j k l)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k, TextShow.Classes.TextShow l, TextShow.Classes.TextShow m) => TextShow.Classes.TextShow2 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m)
instance TextShow.Classes.TextShow2 (,)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow2 ((,,) a)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b) => TextShow.Classes.TextShow2 ((,,,) a b)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c) => TextShow.Classes.TextShow2 ((,,,,) a b c)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d) => TextShow.Classes.TextShow2 ((,,,,,) a b c d)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e) => TextShow.Classes.TextShow2 ((,,,,,,) a b c d e)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f) => TextShow.Classes.TextShow2 ((,,,,,,,) a b c d e f)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g) => TextShow.Classes.TextShow2 ((,,,,,,,,) a b c d e f g)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Tuple.Solo a)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j) => TextShow.Classes.TextShow (a, b, c, d, e, f, g, h, i, j)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k) => TextShow.Classes.TextShow (a, b, c, d, e, f, g, h, i, j, k)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k, TextShow.Classes.TextShow l) => TextShow.Classes.TextShow (a, b, c, d, e, f, g, h, i, j, k, l)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k, TextShow.Classes.TextShow l, TextShow.Classes.TextShow m) => TextShow.Classes.TextShow (a, b, c, d, e, f, g, h, i, j, k, l, m)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k, TextShow.Classes.TextShow l, TextShow.Classes.TextShow m, TextShow.Classes.TextShow n) => TextShow.Classes.TextShow (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i, TextShow.Classes.TextShow j, TextShow.Classes.TextShow k, TextShow.Classes.TextShow l, TextShow.Classes.TextShow m, TextShow.Classes.TextShow n, TextShow.Classes.TextShow o) => TextShow.Classes.TextShow (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b) => TextShow.Classes.TextShow (a, b)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c) => TextShow.Classes.TextShow (a, b, c)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d) => TextShow.Classes.TextShow (a, b, c, d)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e) => TextShow.Classes.TextShow (a, b, c, d, e)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f) => TextShow.Classes.TextShow (a, b, c, d, e, f)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g) => TextShow.Classes.TextShow (a, b, c, d, e, f, g)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h) => TextShow.Classes.TextShow (a, b, c, d, e, f, g, h)
instance (TextShow.Classes.TextShow a, TextShow.Classes.TextShow b, TextShow.Classes.TextShow c, TextShow.Classes.TextShow d, TextShow.Classes.TextShow e, TextShow.Classes.TextShow f, TextShow.Classes.TextShow g, TextShow.Classes.TextShow h, TextShow.Classes.TextShow i) => TextShow.Classes.TextShow (a, b, c, d, e, f, g, h, i)
instance TextShow.Classes.TextShow ()


-- | <a>TextShow</a> instance for <a>Proxy</a>.
--   
--   <i>Since: 2</i>
module TextShow.Data.Proxy
instance TextShow.Classes.TextShow1 GHC.Internal.Data.Proxy.Proxy
instance forall k (s :: k). TextShow.Classes.TextShow (GHC.Internal.Data.Proxy.Proxy s)


-- | <a>TextShow</a> instances for <a>Ordering</a> and <a>Down</a>.
--   
--   <i>Since: 2</i>
module TextShow.Data.Ord
instance TextShow.Classes.TextShow1 GHC.Internal.Data.Ord.Down
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Data.Ord.Down a)
instance TextShow.Classes.TextShow GHC.Types.Ordering


-- | <a>TextShow</a> instances for <a>Monoid</a>-related newtypes.
--   
--   <i>Since: 2</i>
module TextShow.Data.Monoid
instance TextShow.Classes.TextShow1 f => TextShow.Classes.TextShow1 (GHC.Internal.Data.Semigroup.Internal.Alt f)
instance TextShow.Classes.TextShow1 f => TextShow.Classes.TextShow1 (GHC.Internal.Data.Monoid.Ap f)
instance TextShow.Classes.TextShow1 GHC.Internal.Data.Semigroup.Internal.Dual
instance TextShow.Classes.TextShow1 GHC.Internal.Data.Monoid.First
instance TextShow.Classes.TextShow1 GHC.Internal.Data.Monoid.Last
instance TextShow.Classes.TextShow1 GHC.Internal.Data.Semigroup.Internal.Product
instance TextShow.Classes.TextShow1 GHC.Internal.Data.Semigroup.Internal.Sum
instance TextShow.Classes.TextShow GHC.Internal.Data.Semigroup.Internal.All
instance TextShow.Classes.TextShow (f a) => TextShow.Classes.TextShow (GHC.Internal.Data.Semigroup.Internal.Alt f a)
instance TextShow.Classes.TextShow GHC.Internal.Data.Semigroup.Internal.Any
instance TextShow.Classes.TextShow (f a) => TextShow.Classes.TextShow (GHC.Internal.Data.Monoid.Ap f a)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Data.Semigroup.Internal.Dual a)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Data.Monoid.First a)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Data.Monoid.Last a)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Data.Semigroup.Internal.Product a)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Data.Semigroup.Internal.Sum a)


-- | <a>TextShow</a> instances and monomorphic functions for integral
--   types.
--   
--   <i>Since: 2</i>
module TextShow.Data.Integral

-- | Convert an <a>Integral</a> type to a <a>Builder</a> with the given
--   precedence.
--   
--   <i>Since: 2</i>
showbIntegralPrec :: Integral a => Int -> a -> Builder

-- | Shows a <i>non-negative</i> <a>Integral</a> number using the base
--   specified by the first argument, and the character representation
--   specified by the second.
--   
--   <i>Since: 2</i>
showbIntAtBase :: (Integral a, TextShow a) => a -> (Int -> Char) -> a -> Builder

-- | Show <i>non-negative</i> <a>Integral</a> numbers in base 2.
--   
--   <i>Since: 2</i>
showbBin :: (Integral a, TextShow a) => a -> Builder

-- | Show <i>non-negative</i> <a>Integral</a> numbers in base 16.
--   
--   <i>Since: 2</i>
showbHex :: (Integral a, TextShow a) => a -> Builder

-- | Show <i>non-negative</i> <a>Integral</a> numbers in base 8.
--   
--   <i>Since: 2</i>
showbOct :: (Integral a, TextShow a) => a -> Builder
instance TextShow.Classes.TextShow GHC.Types.Int
instance TextShow.Classes.TextShow GHC.Internal.Int.Int16
instance TextShow.Classes.TextShow GHC.Internal.Int.Int32
instance TextShow.Classes.TextShow GHC.Internal.Int.Int64
instance TextShow.Classes.TextShow GHC.Internal.Int.Int8
instance TextShow.Classes.TextShow GHC.Num.Integer.Integer
instance TextShow.Classes.TextShow GHC.Types.Word
instance TextShow.Classes.TextShow GHC.Internal.Word.Word16
instance TextShow.Classes.TextShow GHC.Internal.Word.Word32
instance TextShow.Classes.TextShow GHC.Internal.Word.Word64
instance TextShow.Classes.TextShow GHC.Internal.Word.Word8


-- | <a>TextShow</a> instances for <a>IO</a>-related data types.
--   
--   <i>Since: 2</i>
module TextShow.System.IO
instance TextShow.Classes.TextShow GHC.Internal.IO.Handle.Types.BufferMode
instance TextShow.Classes.TextShow GHC.Internal.IO.Encoding.Failure.CodingFailureMode
instance TextShow.Classes.TextShow GHC.Internal.IO.Encoding.Types.CodingProgress
instance TextShow.Classes.TextShow GHC.Internal.IO.Handle.Types.Handle
instance TextShow.Classes.TextShow GHC.Internal.IO.Handle.HandlePosn
instance TextShow.Classes.TextShow GHC.Internal.IO.IOMode.IOMode
instance TextShow.Classes.TextShow GHC.Internal.IO.Handle.Types.Newline
instance TextShow.Classes.TextShow GHC.Internal.IO.Handle.Types.NewlineMode
instance TextShow.Classes.TextShow GHC.Internal.IO.Device.SeekMode
instance TextShow.Classes.TextShow GHC.Internal.IO.Encoding.Types.TextEncoding


-- | <tt>TextShow</tt> instance for <a>ExitCode</a>.
--   
--   <i>Since: 2</i>
module TextShow.System.Exit
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.ExitCode


-- | <a>TextShow</a> instance for <a>Natural</a>.
--   
--   <i>Since: 2</i>
module TextShow.Numeric.Natural
instance TextShow.Classes.TextShow GHC.Num.Natural.Natural


-- | <a>TextShow</a> instance for <a>Fingerprint</a>.
--   
--   <i>Since: 2</i>
module TextShow.GHC.Fingerprint
instance TextShow.Classes.TextShow GHC.Internal.Fingerprint.Type.Fingerprint


-- | <a>TextShow</a> instances for pointer types used in the Haskell
--   Foreign Function Interface (FFI).
--   
--   <i>Since: 2</i>
module TextShow.Foreign.Ptr
instance TextShow.Classes.TextShow1 GHC.Internal.ForeignPtr.ForeignPtr
instance TextShow.Classes.TextShow1 GHC.Internal.Ptr.FunPtr
instance TextShow.Classes.TextShow1 GHC.Internal.Ptr.Ptr
instance TextShow.Classes.TextShow (GHC.Internal.ForeignPtr.ForeignPtr a)
instance TextShow.Classes.TextShow (GHC.Internal.Ptr.FunPtr a)
instance TextShow.Classes.TextShow GHC.Internal.Foreign.Ptr.IntPtr
instance TextShow.Classes.TextShow (GHC.Internal.Ptr.Ptr a)
instance TextShow.Classes.TextShow GHC.Internal.Foreign.Ptr.WordPtr


-- | <a>TextShow</a> instance for <a>Ratio</a>.
--   
--   <i>Since: 2</i>
module TextShow.Data.Ratio
instance TextShow.Classes.TextShow1 GHC.Internal.Real.Ratio
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Real.Ratio a)


-- | <a>TextShow</a> instance for <a>Sum</a>.
--   
--   <i>Since: 3</i>
module TextShow.Data.Functor.Sum
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow1 g) => TextShow.Classes.TextShow1 (Data.Functor.Sum.Sum f g)
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow1 g, TextShow.Classes.TextShow a) => TextShow.Classes.TextShow (Data.Functor.Sum.Sum f g a)


-- | <a>TextShow</a> instance for <a>Product</a>.
--   
--   <i>Since: 3</i>
module TextShow.Data.Functor.Product
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow1 g) => TextShow.Classes.TextShow1 (Data.Functor.Product.Product f g)
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow1 g, TextShow.Classes.TextShow a) => TextShow.Classes.TextShow (Data.Functor.Product.Product f g a)


-- | <a>TextShow</a> instance for <a>Identity</a> values.
--   
--   <i>Since: 2</i>
module TextShow.Data.Functor.Identity
instance TextShow.Classes.TextShow1 GHC.Internal.Data.Functor.Identity.Identity
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Data.Functor.Identity.Identity a)


-- | <a>TextShow</a> instance for <a>Compose</a>.
--   
--   <i>Since: 3</i>
module TextShow.Data.Functor.Compose
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow1 g) => TextShow.Classes.TextShow1 (Data.Functor.Compose.Compose f g)
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow1 g, TextShow.Classes.TextShow a) => TextShow.Classes.TextShow (Data.Functor.Compose.Compose f g a)


-- | <a>TextShow</a> instances and monomorphic functions for floating-point
--   types.
--   
--   <i>Since: 2</i>
module TextShow.Data.Floating

-- | Convert a <a>RealFloat</a> value to a <a>Builder</a> with the given
--   precedence.
--   
--   <i>Since: 2</i>
showbRealFloatPrec :: RealFloat a => Int -> a -> Builder

-- | Show a signed <a>RealFloat</a> value using scientific (exponential)
--   notation (e.g. <tt>2.45e2</tt>, <tt>1.5e-3</tt>).
--   
--   In the call <tt><a>showbEFloat</a> digs val</tt>, if <tt>digs</tt> is
--   <a>Nothing</a>, the value is shown to full precision; if <tt>digs</tt>
--   is <tt><a>Just</a> d</tt>, then at most <tt>d</tt> digits after the
--   decimal point are shown.
--   
--   <i>Since: 2</i>
showbEFloat :: RealFloat a => Maybe Int -> a -> Builder

-- | Show a signed <a>RealFloat</a> value using standard decimal notation
--   (e.g. <tt>245000</tt>, <tt>0.0015</tt>).
--   
--   In the call <tt><a>showbFFloat</a> digs val</tt>, if <tt>digs</tt> is
--   <a>Nothing</a>, the value is shown to full precision; if <tt>digs</tt>
--   is <tt><a>Just</a> d</tt>, then at most <tt>d</tt> digits after the
--   decimal point are shown.
--   
--   <i>Since: 2</i>
showbFFloat :: RealFloat a => Maybe Int -> a -> Builder

-- | Show a signed <a>RealFloat</a> value using standard decimal notation
--   for arguments whose absolute value lies between <tt>0.1</tt> and
--   <tt>9,999,999</tt>, and scientific notation otherwise.
--   
--   In the call <tt><a>showbGFloat</a> digs val</tt>, if <tt>digs</tt> is
--   <a>Nothing</a>, the value is shown to full precision; if <tt>digs</tt>
--   is <tt><a>Just</a> d</tt>, then at most <tt>d</tt> digits after the
--   decimal point are shown.
--   
--   <i>Since: 2</i>
showbGFloat :: RealFloat a => Maybe Int -> a -> Builder

-- | Show a signed <a>RealFloat</a> value using standard decimal notation
--   (e.g. <tt>245000</tt>, <tt>0.0015</tt>).
--   
--   This behaves as <tt>showFFloat</tt>, except that a decimal point is
--   always guaranteed, even if not needed.
--   
--   <i>Since: 2</i>
showbFFloatAlt :: RealFloat a => Maybe Int -> a -> Builder

-- | Show a signed <a>RealFloat</a> value using standard decimal notation
--   for arguments whose absolute value lies between <tt>0.1</tt> and
--   <tt>9,999,999</tt>, and scientific notation otherwise.
--   
--   This behaves as <tt>showFFloat</tt>, except that a decimal point is
--   always guaranteed, even if not needed.
--   
--   <i>Since: 2</i>
showbGFloatAlt :: RealFloat a => Maybe Int -> a -> Builder

-- | Convert an <a>FPFormat</a> value to a <a>Builder</a>.
--   
--   <i>Since: 2</i>
showbFPFormat :: FPFormat -> Builder

-- | Control the rendering of floating point numbers.
data FPFormat

-- | Scientific notation (e.g. <tt>2.3e123</tt>).
Exponent :: FPFormat

-- | Standard decimal notation.
Fixed :: FPFormat

-- | Use decimal notation for values between <tt>0.1</tt> and
--   <tt>9,999,999</tt>, and scientific notation otherwise.
Generic :: FPFormat

-- | Like <a>formatRealFloatAltB</a>, except that the decimal is only shown
--   for arguments whose absolute value is between <tt>0.1</tt> and
--   <tt>9,999,999</tt>.
--   
--   <i>Since: 2</i>
formatRealFloatB :: RealFloat a => FPFormat -> Maybe Int -> a -> Builder

-- | Converts a <a>RealFloat</a> value to a Builder, specifying if a
--   decimal point should always be shown.
--   
--   <i>Since: 2</i>
formatRealFloatAltB :: RealFloat a => FPFormat -> Maybe Int -> Bool -> a -> Builder
instance TextShow.Classes.TextShow GHC.Types.Double
instance TextShow.Classes.TextShow Data.Text.Lazy.Builder.RealFloat.FPFormat
instance TextShow.Classes.TextShow GHC.Types.Float


-- | <a>TextShow</a> instances for Haskell newtypes corresponding to C
--   types in the Foreign Function Interface (FFI).
--   
--   <i>Since: 2</i>
module TextShow.Foreign.C.Types
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CBool
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CChar
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CClock
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CDouble
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CFloat
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CInt
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CIntMax
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CIntPtr
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CLLong
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CLong
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CPtrdiff
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CSChar
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CSUSeconds
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CShort
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CSigAtomic
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CSize
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CTime
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CUChar
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CUInt
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CUIntMax
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CUIntPtr
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CULLong
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CULong
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CUSeconds
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CUShort
instance TextShow.Classes.TextShow GHC.Internal.Foreign.C.Types.CWchar


-- | <a>TextShow</a> instances for Haskell equivalents of POSIX data types.
--   Note that these are only available if the operating system supports
--   them, so some OSes (e.g., Windows) will not be able to use all of the
--   instances in this module.
--   
--   <i>Since: 2</i>
module TextShow.System.Posix.Types
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CBlkCnt
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CBlkSize
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CCc
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CClockId
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CDev
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CFsBlkCnt
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CFsFilCnt
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CGid
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CId
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CIno
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CKey
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CMode
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CNlink
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.COff
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CPid
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CRLim
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CSpeed
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CSsize
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CTcflag
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CTimer
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.CUid
instance TextShow.Classes.TextShow GHC.Internal.System.Posix.Types.Fd


-- | <a>TextShow</a> instances for data types in the <tt>Event</tt> module.
--   Only provided if using a platform other than Windows or GHCJS.
--   
--   <i>Since: 2</i>
module TextShow.GHC.Event
instance TextShow.Classes.TextShow GHC.Internal.Event.Internal.Types.Event
instance TextShow.Classes.TextShow GHC.Internal.Event.Manager.FdKey
instance TextShow.Classes.TextShow GHC.Internal.Event.Internal.Types.Lifetime
instance TextShow.Classes.TextShow GHC.Internal.Event.Unique.Unique


-- | Provides <a>TextShow</a> instance for <a>Fixed</a>, as well as the
--   <a>showbFixed</a> function.
--   
--   <i>Since: 2</i>
module TextShow.Data.Fixed

-- | Convert a <a>Fixed</a> value to a <a>Builder</a>, where the first
--   argument indicates whether to chop off trailing zeroes.
--   
--   <i>Since: 2</i>
showbFixed :: HasResolution a => Bool -> Fixed a -> Builder
instance Data.Fixed.HasResolution a => TextShow.Classes.TextShow (Data.Fixed.Fixed a)


-- | <a>TextShow</a> instance for <a>Dynamic</a>.
--   
--   <i>Since: 2</i>
module TextShow.Data.Dynamic
instance TextShow.Classes.TextShow GHC.Internal.Data.Dynamic.Dynamic


-- | <a>TextShow</a> instances for <tt>Ratio</tt>.
--   
--   <i>Since: 2</i>
module TextShow.Data.Complex
instance TextShow.Classes.TextShow1 Data.Complex.Complex
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Complex.Complex a)


-- | <a>TextShow</a> instances and monomorphic functions for <a>Char</a>
--   and <a>String</a>.
--   
--   <i>Since: 2</i>
module TextShow.Data.Char

-- | Convert a <a>Char</a> to a <a>Builder</a> (surrounded by single
--   quotes).
--   
--   <i>Since: 2</i>
showbChar :: Char -> Builder

-- | Convert a <a>Char</a> to a <a>Builder</a> (without single quotes).
--   
--   <i>Since: 2</i>
showbLitChar :: Char -> Builder

-- | Convert a <a>String</a> to a <a>Builder</a> (surrounded by double
--   quotes).
--   
--   <i>Since: 2</i>
showbString :: String -> Builder

-- | Convert a <a>String</a> to a <a>Builder</a> (without double quotes).
--   
--   <i>Since: 2</i>
showbLitString :: String -> Builder

-- | Convert a <a>GeneralCategory</a> to a <a>Builder</a>.
--   
--   <i>Since: 2</i>
showbGeneralCategory :: GeneralCategory -> Builder

-- | A table of ASCII control characters that needs to be escaped with a
--   backslash.
--   
--   <i>Since: 2</i>
asciiTabB :: Array Int Builder
instance TextShow.Classes.TextShow GHC.Types.Char
instance TextShow.Classes.TextShow GHC.Internal.Unicode.GeneralCategory


-- | <a>TextShow</a> instances for data types in the <tt>GHC.TypeLits</tt>
--   module.
--   
--   <i>Since: 2</i>
module TextShow.GHC.TypeLits
instance TextShow.Classes.TextShow (GHC.Internal.TypeLits.SChar c)
instance TextShow.Classes.TextShow (GHC.Internal.TypeNats.SNat n)
instance TextShow.Classes.TextShow (GHC.Internal.TypeLits.SSymbol s)
instance TextShow.Classes.TextShow GHC.Internal.TypeLits.SomeChar
instance TextShow.Classes.TextShow GHC.Internal.TypeNats.SomeNat
instance TextShow.Classes.TextShow GHC.Internal.TypeLits.SomeSymbol


-- | <a>TextShow</a> instances for generics-related data types.
--   
--   <i>Since: 2</i>
module TextShow.GHC.Generics
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow1 g) => TextShow.Classes.TextShow1 (f GHC.Internal.Generics.:*: g)
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow1 g) => TextShow.Classes.TextShow1 (f GHC.Internal.Generics.:+: g)
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow1 g) => TextShow.Classes.TextShow1 (f GHC.Internal.Generics.:.: g)
instance TextShow.Classes.TextShow c => TextShow.Classes.TextShow1 (GHC.Internal.Generics.K1 i c)
instance TextShow.Classes.TextShow1 f => TextShow.Classes.TextShow1 (GHC.Internal.Generics.M1 i c f)
instance TextShow.Classes.TextShow1 GHC.Internal.Generics.Par1
instance TextShow.Classes.TextShow1 f => TextShow.Classes.TextShow1 (GHC.Internal.Generics.Rec1 f)
instance TextShow.Classes.TextShow1 GHC.Internal.Generics.U1
instance TextShow.Classes.TextShow1 (GHC.Internal.Generics.URec GHC.Types.Word)
instance TextShow.Classes.TextShow1 (GHC.Internal.Generics.URec GHC.Types.Int)
instance TextShow.Classes.TextShow1 (GHC.Internal.Generics.URec GHC.Types.Float)
instance TextShow.Classes.TextShow1 (GHC.Internal.Generics.URec GHC.Types.Double)
instance TextShow.Classes.TextShow1 (GHC.Internal.Generics.URec GHC.Types.Char)
instance TextShow.Classes.TextShow2 (GHC.Internal.Generics.K1 i)
instance (TextShow.Classes.TextShow (f p), TextShow.Classes.TextShow (g p)) => TextShow.Classes.TextShow ((GHC.Internal.Generics.:*:) f g p)
instance (TextShow.Classes.TextShow (f p), TextShow.Classes.TextShow (g p)) => TextShow.Classes.TextShow ((GHC.Internal.Generics.:+:) f g p)
instance TextShow.Classes.TextShow (f (g p)) => TextShow.Classes.TextShow ((GHC.Internal.Generics.:.:) f g p)
instance TextShow.Classes.TextShow GHC.Internal.Generics.Associativity
instance TextShow.Classes.TextShow GHC.Internal.Generics.DecidedStrictness
instance TextShow.Classes.TextShow GHC.Internal.Generics.Fixity
instance TextShow.Classes.TextShow c => TextShow.Classes.TextShow (GHC.Internal.Generics.K1 i c p)
instance TextShow.Classes.TextShow (f p) => TextShow.Classes.TextShow (GHC.Internal.Generics.M1 i c f p)
instance TextShow.Classes.TextShow p => TextShow.Classes.TextShow (GHC.Internal.Generics.Par1 p)
instance TextShow.Classes.TextShow (f p) => TextShow.Classes.TextShow (GHC.Internal.Generics.Rec1 f p)
instance TextShow.Classes.TextShow GHC.Internal.Generics.SourceStrictness
instance TextShow.Classes.TextShow GHC.Internal.Generics.SourceUnpackedness
instance TextShow.Classes.TextShow (GHC.Internal.Generics.U1 p)
instance TextShow.Classes.TextShow (GHC.Internal.Generics.UWord p)
instance TextShow.Classes.TextShow (GHC.Internal.Generics.UInt p)
instance TextShow.Classes.TextShow (GHC.Internal.Generics.UFloat p)
instance TextShow.Classes.TextShow (GHC.Internal.Generics.UDouble p)
instance TextShow.Classes.TextShow (GHC.Internal.Generics.UChar p)


-- | Exports <a>showbListWith</a>, <a>showtListWith</a>, and
--   <a>showtlListWith</a>, and <a>TextShow</a> instances for lists.
module TextShow.Data.List

-- | Converts a list of values into a <a>Builder</a> in which the values
--   are surrounded by square brackets and each value is separated by a
--   comma. The function argument controls how each element is shown.
--   
--   <tt><a>showbListWith</a> <a>showb</a></tt> is the default
--   implementation of <a>showbList</a> save for a few special cases (e.g.,
--   <a>String</a>).
--   
--   <i>Since: 2</i>
showbListWith :: (a -> Builder) -> [a] -> Builder

-- | Converts a list of values into a strict <a>Text</a> in which the
--   values are surrounded by square brackets and each value is separated
--   by a comma. The function argument controls how each element is shown.
--   
--   <i>Since: 3.4</i>
showtListWith :: (a -> Text) -> [a] -> Text

-- | Converts a list of values into a lazy <a>Text</a> in which the values
--   are surrounded by square brackets and each value is separated by a
--   comma. The function argument controls how each element is shown.
--   
--   <i>Since: 3.4</i>
showtlListWith :: (a -> Text) -> [a] -> Text
instance TextShow.Classes.TextShow1 []
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow [a]


-- | <tt>TextShow</tt> instance for <a>Lexeme</a> (and <a>Number</a>, if
--   using a recent-enough version of <tt>base</tt>).
--   
--   <i>Since: 2</i>
module TextShow.Text.Read
instance TextShow.Classes.TextShow GHC.Internal.Text.Read.Lex.Lexeme
instance TextShow.Classes.TextShow GHC.Internal.Text.Read.Lex.Number


-- | <tt>TextShow</tt> instance for <a>StaticPtrInfo</a>.
--   
--   <i>Since: 2</i>
module TextShow.GHC.StaticPtr
instance TextShow.Classes.TextShow GHC.Internal.StaticPtr.StaticPtrInfo


-- | <a>TextShow</a> instances for <a>CallStack</a> and <a>SrcLoc</a>
--   values.
--   
--   <i>Since: 3.0.1</i>
module TextShow.GHC.Stack
instance TextShow.Classes.TextShow GHC.Internal.Stack.Types.CallStack
instance TextShow.Classes.TextShow GHC.Internal.Stack.Types.SrcLoc


-- | <tt>TextShow</tt> instances for data types in the <a>Flags</a> module.
--   
--   <i>Since: 2</i>
module TextShow.GHC.RTS.Flags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.CCFlags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.ConcFlags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.DebugFlags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.DoCostCentres
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.DoHeapProfile
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.DoTrace
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.GCFlags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.GiveGCStats
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.HpcFlags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.IoSubSystem
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.MiscFlags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.ParFlags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.ProfFlags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.RTSFlags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.TickyFlags
instance TextShow.Classes.TextShow GHC.Internal.RTS.Flags.TraceFlags


-- | Provides a <a>TextShow</a> instance for <a>Version</a> and the
--   <a>showbVersion</a> function.
--   
--   <i>Since: 2</i>
module TextShow.Data.Version

-- | Provides one possible concrete representation for <a>Version</a>. For
--   a version with <a>versionBranch</a> <tt>= [1,2,3]</tt> and
--   <a>versionTags</a> <tt>= ["tag1","tag2"]</tt>, the output will be
--   <tt>1.2.3-tag1-tag2</tt>.
--   
--   <i>Since: 3.6</i>
showbVersion :: Version -> Builder
instance TextShow.Classes.TextShow GHC.Internal.Data.Version.Version


-- | <tt>TextShow</tt> instance for <a>NonEmpty</a> lists.
--   
--   <i>Since: 3</i>
module TextShow.Data.List.NonEmpty
instance TextShow.Classes.TextShow1 GHC.Internal.Base.NonEmpty
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Base.NonEmpty a)


-- | <a>TextShow</a> instances for data types in the <tt>Data.Data</tt>
--   module.
--   
--   <i>Since: 2</i>
module TextShow.Data.Data
instance TextShow.Classes.TextShow GHC.Internal.Data.Data.Constr
instance TextShow.Classes.TextShow GHC.Internal.Data.Data.ConstrRep
instance TextShow.Classes.TextShow GHC.Internal.Data.Data.DataRep
instance TextShow.Classes.TextShow GHC.Internal.Data.Data.DataType
instance TextShow.Classes.TextShow GHC.Internal.Data.Data.Fixity


-- | <a>TextShow</a> instances for data types in the <tt>bytestring</tt>
--   library.
--   
--   <i>Since: 2</i>
module TextShow.Data.ByteString
instance TextShow.Classes.TextShow Data.ByteString.Lazy.Internal.ByteString
instance TextShow.Classes.TextShow Data.ByteString.Internal.Type.ByteString
instance TextShow.Classes.TextShow Data.ByteString.Short.Internal.ShortByteString


-- | Defines <a>TextShow</a> instances for <tt>Text</tt> types, as well as
--   other miscellaneous data types from the <tt>text</tt> package.
--   
--   Note that this module deliberately does not define a <a>TextShow</a>
--   instance for the <tt>I16</tt> data type from
--   <tt>Data.Text.Foreign</tt>, as that module is not available on certain
--   widely used variants of GHC (e.g., <tt>reflex-platform</tt>). See #40
--   for more details. If this is a problem for you, please file an issue.
--   
--   <i>Since: 2</i>
module TextShow.Data.Text
instance TextShow.Classes.TextShow Data.Text.Internal.Builder.Builder
instance TextShow.Classes.TextShow Data.Text.Encoding.Decoding
instance TextShow.Classes.TextShow Data.Text.Internal.Fusion.Size.Size
instance TextShow.Classes.TextShow Data.Text.Internal.Lazy.Text
instance TextShow.Classes.TextShow Data.Text.Internal.Text
instance TextShow.Classes.TextShow Data.Text.Encoding.Error.UnicodeException


-- | Provides a <a>TextShow</a> instance for <a>ByteArray</a> from the
--   <a>Data.Array.Byte</a> module. Only provided if using
--   <tt>base-4.17.0.0</tt> or later.
--   
--   <i>Since: 3.10</i>
module TextShow.Data.Array.Byte
instance TextShow.Classes.TextShow Data.Array.Byte.ByteArray


-- | Provides <a>TextShow</a> instances for <a>Array</a> types, as well as
--   the <a>showbIArrayPrec</a> function.
--   
--   <i>Since: 2</i>
module TextShow.Data.Array

-- | Convert an <a>IArray</a> instance to a <a>Builder</a> with the given
--   precedence.
--   
--   <i>Since: 2</i>
showbIArrayPrec :: (IArray a e, Ix i, TextShow i, TextShow e) => Int -> a i e -> Builder
instance (TextShow.Classes.TextShow i, TextShow.Classes.TextShow e, GHC.Internal.Ix.Ix i) => TextShow.Classes.TextShow (GHC.Internal.Arr.Array i e)
instance (Data.Array.Base.IArray Data.Array.Base.UArray e, GHC.Internal.Ix.Ix i, TextShow.Classes.TextShow i, TextShow.Classes.TextShow e) => TextShow.Classes.TextShow (Data.Array.Base.UArray i e)


-- | <a>TextShow</a> instance for strict <a>ST</a>.
--   
--   <i>Since: 2</i>
module TextShow.Control.Monad.ST
instance TextShow.Classes.TextShow1 (GHC.Internal.ST.ST s)
instance TextShow.Classes.TextShow2 GHC.Internal.ST.ST
instance TextShow.Classes.TextShow (GHC.Internal.ST.ST s a)


-- | <a>TextShow</a> instances for <a>Exception</a> data types.
--   
--   <i>Since: 2</i>
module TextShow.Control.Exception
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.AllocationLimitExceeded
instance TextShow.Classes.TextShow GHC.Internal.Exception.Type.ArithException
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.ArrayException
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.AssertionFailed
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.AsyncException
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.BlockedIndefinitelyOnMVar
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.BlockedIndefinitelyOnSTM
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.CompactionFailed
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.Deadlock
instance TextShow.Classes.TextShow GHC.Internal.Exception.ErrorCall
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.FixIOException
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.IOException
instance TextShow.Classes.TextShow GHC.Internal.IO.MaskingState
instance TextShow.Classes.TextShow GHC.Internal.Control.Exception.Base.NestedAtomically
instance TextShow.Classes.TextShow GHC.Internal.Control.Exception.Base.NoMethodError
instance TextShow.Classes.TextShow GHC.Internal.Control.Exception.Base.NonTermination
instance TextShow.Classes.TextShow GHC.Internal.Control.Exception.Base.PatternMatchFail
instance TextShow.Classes.TextShow GHC.Internal.Control.Exception.Base.RecConError
instance TextShow.Classes.TextShow GHC.Internal.Control.Exception.Base.RecSelError
instance TextShow.Classes.TextShow GHC.Internal.Control.Exception.Base.RecUpdError
instance TextShow.Classes.TextShow GHC.Internal.IO.Exception.SomeAsyncException
instance TextShow.Classes.TextShow GHC.Internal.Exception.Type.SomeException
instance TextShow.Classes.TextShow GHC.Internal.Control.Exception.Base.TypeError


-- | <a>TextShow</a> instances for concurrency-related data types.
--   
--   <i>Since: 2</i>
module TextShow.Control.Concurrent
instance TextShow.Classes.TextShow GHC.Internal.Conc.Sync.BlockReason
instance TextShow.Classes.TextShow GHC.Internal.Conc.Sync.ThreadId
instance TextShow.Classes.TextShow GHC.Internal.Conc.Sync.ThreadStatus


-- | <a>TextShow</a> instances for <a>Const</a> and <a>ZipList</a>.
--   
--   <i>Since: 2</i>
module TextShow.Control.Applicative
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow1 (GHC.Internal.Data.Functor.Const.Const a)
instance TextShow.Classes.TextShow1 GHC.Internal.Functor.ZipList.ZipList
instance TextShow.Classes.TextShow2 GHC.Internal.Data.Functor.Const.Const
instance forall k a (b :: k). TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Data.Functor.Const.Const a b)
instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (GHC.Internal.Functor.ZipList.ZipList a)


-- | Functions to mechanically derive <tt>TextShow</tt>,
--   <tt>TextShow1</tt>, or <tt>TextShow2</tt> instances, or to splice
--   <tt>show</tt>-related expressions into Haskell source code. You need
--   to enable the <tt>TemplateHaskell</tt> language extension in order to
--   use this module.
--   
--   <i>Since: 2</i>
module TextShow.TH

-- | Options that specify how to derive <tt>TextShow</tt> instances using
--   Template Haskell.
--   
--   <i>Since: 3.4</i>
data Options
Options :: GenTextMethods -> Bool -> Options

-- | When Template Haskell should generate definitions for methods which
--   return <tt>Text</tt>?
--   
--   <i>Since: 3.4</i>
[genTextMethods] :: Options -> GenTextMethods

-- | If <a>True</a>, derived instances for empty data types (i.e., ones
--   with no data constructors) will use the <tt>EmptyCase</tt> language
--   extension. If <a>False</a>, derived instances will simply use
--   <a>seq</a> instead.
--   
--   <i>Since: 3.7</i>
[emptyCaseBehavior] :: Options -> Bool

-- | Sensible default <a>Options</a>.
--   
--   <i>Since: 3.4</i>
defaultOptions :: Options

-- | Generates a <a>TextShow</a> instance declaration for the given data
--   type or data family instance.
--   
--   <i>Since: 2</i>
deriveTextShow :: Name -> Q [Dec]

-- | Generates a <a>TextShow1</a> instance declaration for the given data
--   type or data family instance.
--   
--   <i>Since: 2</i>
deriveTextShow1 :: Name -> Q [Dec]

-- | Generates a lambda expression which behaves like <a>showbPrec</a>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeShowbPrec :: Name -> Q Exp

-- | Generates a <a>TextShow2</a> instance declaration for the given data
--   type or data family instance.
--   
--   <i>Since: 2</i>
deriveTextShow2 :: Name -> Q [Dec]

-- | Generates a lambda expression which behaves like <a>showt</a> (without
--   requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeShowt :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <a>showtPrec</a>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeShowtPrec :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <a>showtlPrec</a>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeShowtlPrec :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <a>liftShowbPrec</a>
--   (without requiring a <a>TextShow1</a> instance).
--   
--   <i>Since: 3</i>
makeLiftShowbPrec :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <a>liftShowbPrec2</a>
--   (without requiring a <a>TextShow2</a> instance).
--   
--   <i>Since: 3</i>
makeLiftShowbPrec2 :: Name -> Q Exp

-- | When should Template Haskell generate implementations for the methods
--   of <tt>TextShow</tt> which return <tt>Text</tt>?
--   
--   <i>Since: 3.4</i>
data GenTextMethods

-- | Always generate them.
AlwaysTextMethods :: GenTextMethods

-- | Only generate when <tt>text-show</tt> feels it's appropriate.
SometimesTextMethods :: GenTextMethods

-- | Never generate them under any circumstances.
NeverTextMethods :: GenTextMethods

-- | Generates a lambda expression which behaves like <a>showtl</a>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeShowtl :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <a>showtList</a>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeShowtList :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <a>showtlList</a>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeShowtlList :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <a>showb</a> (without
--   requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeShowb :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <a>showbList</a>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeShowbList :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <tt>printT</tt>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makePrintT :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <tt>printTL</tt>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makePrintTL :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <tt>hPrintT</tt>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeHPrintT :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <tt>hPrintTL</tt>
--   (without requiring a <a>TextShow</a> instance).
--   
--   <i>Since: 2</i>
makeHPrintTL :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <tt>showbPrec1</tt>
--   (without requiring a <a>TextShow1</a> instance).
--   
--   <i>Since: 2</i>
makeShowbPrec1 :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <tt>showbPrec2</tt>
--   (without requiring a <a>TextShow2</a> instance).
--   
--   <i>Since: 2</i>
makeShowbPrec2 :: Name -> Q Exp

-- | Like <a>deriveTextShow</a>, but takes an <a>Options</a> argument.
--   
--   <i>Since: 3.4</i>
deriveTextShowOptions :: Options -> Name -> Q [Dec]

-- | Like <a>deriveTextShow1</a>, but takes an <a>Options</a> argument.
--   
--   <i>Since: 3.4</i>
deriveTextShow1Options :: Options -> Name -> Q [Dec]

-- | Like <a>deriveTextShow2</a>, but takes an <a>Options</a> argument.
--   
--   <i>Since: 3.4</i>
deriveTextShow2Options :: Options -> Name -> Q [Dec]
instance TextShow.Classes.TextShow TextShow.Options.GenTextMethods
instance TextShow.Classes.TextShow TextShow.Options.Options


-- | Generic versions of <a>TextShow</a> and <a>TextShow1</a> class
--   functions, as an alternative to <a>TextShow.TH</a>, which uses
--   Template Haskell. Because there is no <tt>Generic2</tt> class,
--   <tt>TextShow2</tt> cannot be implemented generically.
--   
--   This implementation is loosely based off of the
--   <tt>Generics.Deriving.Show</tt> module from the
--   <tt>generic-deriving</tt> library.
--   
--   <i>Since: 2</i>
module TextShow.Generic

-- | An adapter newtype, suitable for <tt>DerivingVia</tt>. The
--   <a>TextShow</a> instance for <a>FromGeneric</a> leverages a
--   <a>Generic</a>-based default. That is,
--   
--   <pre>
--   <a>showbPrec</a> p (<a>FromGeneric</a> x) = <a>genericShowbPrec</a> p x
--   </pre>
--   
--   <i>Since: 3.7.4</i>
newtype FromGeneric a
FromGeneric :: a -> FromGeneric a
[fromGeneric] :: FromGeneric a -> a

-- | An adapter newtype, suitable for <tt>DerivingVia</tt>. The
--   <a>TextShow1</a> instance for <a>FromGeneric1</a> leverages a
--   <a>Generic1</a>-based default. That is,
--   
--   <pre>
--   <a>liftShowbPrec</a> sp sl p (<a>FromGeneric1</a> x) = <a>genericLiftShowbPrec</a> sp sl p x
--   </pre>
--   
--   <i>Since: 3.7.4</i>
newtype FromGeneric1 (f :: k -> Type) (a :: k)
FromGeneric1 :: f a -> FromGeneric1 (f :: k -> Type) (a :: k)
[fromGeneric1] :: FromGeneric1 (f :: k -> Type) (a :: k) -> f a

-- | A <a>Generic</a> implementation of <a>showt</a>.
--   
--   <i>Since: 2</i>
genericShowt :: (Generic a, GTextShowT (Rep a ())) => a -> Text

-- | A <a>Generic</a> implementation of <a>showtl</a>.
--   
--   <i>Since: 2</i>
genericShowtl :: (Generic a, GTextShowTL (Rep a ())) => a -> Text

-- | A <a>Generic</a> implementation of <tt>showPrect</tt>.
--   
--   <i>Since: 2</i>
genericShowtPrec :: (Generic a, GTextShowT (Rep a ())) => Int -> a -> Text

-- | A <a>Generic</a> implementation of <a>showtlPrec</a>.
--   
--   <i>Since: 2</i>
genericShowtlPrec :: (Generic a, GTextShowTL (Rep a ())) => Int -> a -> Text

-- | A <a>Generic</a> implementation of <a>showtList</a>.
--   
--   <i>Since: 2</i>
genericShowtList :: (Generic a, GTextShowT (Rep a ())) => [a] -> Text

-- | A <a>Generic</a> implementation of <a>showtlList</a>.
--   
--   <i>Since: 2</i>
genericShowtlList :: (Generic a, GTextShowTL (Rep a ())) => [a] -> Text

-- | A <a>Generic</a> implementation of <a>showb</a>.
--   
--   <i>Since: 2</i>
genericShowb :: (Generic a, GTextShowB (Rep a ())) => a -> Builder

-- | A <a>Generic</a> implementation of <a>showbPrec</a>.
--   
--   <i>Since: 2</i>
genericShowbPrec :: (Generic a, GTextShowB (Rep a ())) => Int -> a -> Builder

-- | A <a>Generic</a> implementation of <a>showbList</a>.
--   
--   <i>Since: 2</i>
genericShowbList :: (Generic a, GTextShowB (Rep a ())) => [a] -> Builder

-- | A <a>Generic</a> implementation of <tt>printT</tt>.
--   
--   <i>Since: 2</i>
genericPrintT :: (Generic a, GTextShowT (Rep a ())) => a -> IO ()

-- | A <a>Generic</a> implementation of <tt>printTL</tt>.
--   
--   <i>Since: 2</i>
genericPrintTL :: (Generic a, GTextShowTL (Rep a ())) => a -> IO ()

-- | A <a>Generic</a> implementation of <tt>hPrintT</tt>.
--   
--   <i>Since: 2</i>
genericHPrintT :: (Generic a, GTextShowT (Rep a ())) => Handle -> a -> IO ()

-- | A <a>Generic</a> implementation of <tt>hPrintTL</tt>.
--   
--   <i>Since: 2</i>
genericHPrintTL :: (Generic a, GTextShowTL (Rep a ())) => Handle -> a -> IO ()

-- | A <a>Generic1</a> implementation of <a>genericLiftShowbPrec</a>.
--   
--   <i>Since: 2</i>
genericLiftShowbPrec :: (Generic1 f, GTextShowB1 (Rep1 f)) => (Int -> a -> Builder) -> ([a] -> Builder) -> Int -> f a -> Builder

-- | A <a>Generic</a>/<a>Generic1</a> implementation of
--   <tt>showbPrec1</tt>.
--   
--   <i>Since: 2</i>
genericShowbPrec1 :: (Generic a, Generic1 f, GTextShowB (Rep a ()), GTextShowB1 (Rep1 f)) => Int -> f a -> Builder

-- | Class of generic representation types that can be converted to a
--   <a>Builder</a>. <i>Since: 3.10</i>
class GTextShowB a
gShowbPrec :: GTextShowB a => Int -> a -> Builder
class GTextShowConB a
gShowbPrecCon :: GTextShowConB a => ConType -> Int -> a -> Builder
class forall a. TextShow a => GTextShowB f a => GTextShowB1 (f :: Type -> Type)
gLiftShowbPrec :: GTextShowB1 f => (Int -> a -> Builder) -> ([a] -> Builder) -> Int -> f a -> Builder
class forall a. TextShow a => GTextShowConB f a => GTextShowConB1 (f :: Type -> Type)
gLiftShowbPrecCon :: GTextShowConB1 f => (Int -> a -> Builder) -> ([a] -> Builder) -> ConType -> Int -> f a -> Builder

-- | Class of generic representation types that can be converted to a
--   <a>Text</a>. <i>Since: 3.10</i>
class GTextShowT a
gShowtPrec :: GTextShowT a => Int -> a -> Text
class GTextShowConT a
gShowtPrecCon :: GTextShowConT a => ConType -> Int -> a -> Text
class forall a. TextShow a => GTextShowT f a => GTextShowT1 (f :: Type -> Type)
gLiftShowtPrec :: GTextShowT1 f => (Int -> a -> Text) -> ([a] -> Text) -> Int -> f a -> Text
class forall a. TextShow a => GTextShowConT f a => GTextShowConT1 (f :: Type -> Type)
gLiftShowtPrecCon :: GTextShowConT1 f => (Int -> a -> Text) -> ([a] -> Text) -> ConType -> Int -> f a -> Text

-- | Class of generic representation types that can be converted to a
--   <a>Text</a>. <i>Since: 3.10</i>
class GTextShowTL a
gShowtlPrec :: GTextShowTL a => Int -> a -> Text
class GTextShowConTL a
gShowtlPrecCon :: GTextShowConTL a => ConType -> Int -> a -> Text
class forall a. TextShow a => GTextShowTL f a => GTextShowTL1 (f :: Type -> Type)
gLiftShowtlPrec :: GTextShowTL1 f => (Int -> a -> Text) -> ([a] -> Text) -> Int -> f a -> Text
class forall a. TextShow a => GTextShowConTL f a => GTextShowConTL1 (f :: Type -> Type)
gLiftShowtlPrecCon :: GTextShowConTL1 f => (Int -> a -> Text) -> ([a] -> Text) -> ConType -> Int -> f a -> Text

-- | Class of generic representation types that represent a constructor
--   with zero or more fields.
class IsNullary (f :: k -> Type)
isNullary :: forall (a :: k). IsNullary f => f a -> Bool

-- | Whether a constructor is a record (<a>Rec</a>), a tuple (<a>Tup</a>),
--   is prefix (<a>Pref</a>), or infix (<a>Inf</a>).
--   
--   <i>Since: 2</i>
data ConType
Rec :: ConType
Tup :: ConType
Pref :: ConType
Inf :: String -> ConType
instance GHC.Internal.Data.Data.Data TextShow.Generic.ConType
instance GHC.Internal.Data.Data.Data a => GHC.Internal.Data.Data.Data (TextShow.Generic.FromGeneric a)
instance (GHC.Internal.Data.Data.Data (f a), GHC.Internal.Data.Typeable.Internal.Typeable f, GHC.Internal.Data.Typeable.Internal.Typeable a) => GHC.Internal.Data.Data.Data (TextShow.Generic.FromGeneric1 f a)
instance GHC.Classes.Eq TextShow.Generic.ConType
instance GHC.Classes.Eq a => GHC.Classes.Eq (TextShow.Generic.FromGeneric a)
instance forall k (f :: k -> *) (a :: k). GHC.Classes.Eq (f a) => GHC.Classes.Eq (TextShow.Generic.FromGeneric1 f a)
instance GHC.Internal.Data.Foldable.Foldable TextShow.Generic.FromGeneric
instance GHC.Internal.Data.Foldable.Foldable f => GHC.Internal.Data.Foldable.Foldable (TextShow.Generic.FromGeneric1 f)
instance GHC.Internal.Base.Functor TextShow.Generic.FromGeneric
instance GHC.Internal.Base.Functor f => GHC.Internal.Base.Functor (TextShow.Generic.FromGeneric1 f)
instance (TextShow.Generic.GTextShowB1 f, TextShow.Generic.GTextShowB1 g) => TextShow.Generic.GTextShowB1 (f GHC.Internal.Generics.:+: g)
instance (GHC.Internal.Generics.Constructor c, TextShow.Generic.GTextShowConB1 f, TextShow.Generic.IsNullary f) => TextShow.Generic.GTextShowB1 (GHC.Internal.Generics.C1 c f)
instance TextShow.Generic.GTextShowB1 f => TextShow.Generic.GTextShowB1 (GHC.Internal.Generics.D1 d f)
instance TextShow.Generic.GTextShowB1 GHC.Internal.Generics.V1
instance forall k (f :: k -> *) (p :: k) (g :: k -> *). (TextShow.Generic.GTextShowB (f p), TextShow.Generic.GTextShowB (g p)) => TextShow.Generic.GTextShowB ((GHC.Internal.Generics.:+:) f g p)
instance forall k (c :: GHC.Internal.Generics.Meta) (f :: k -> *) (p :: k). (GHC.Internal.Generics.Constructor c, TextShow.Generic.GTextShowConB (f p), TextShow.Generic.IsNullary f) => TextShow.Generic.GTextShowB (GHC.Internal.Generics.C1 c f p)
instance forall k (f :: k -> *) (p :: k) (d :: GHC.Internal.Generics.Meta). TextShow.Generic.GTextShowB (f p) => TextShow.Generic.GTextShowB (GHC.Internal.Generics.D1 d f p)
instance forall k (p :: k). TextShow.Generic.GTextShowB (GHC.Internal.Generics.V1 p)
instance (TextShow.Generic.GTextShowConB1 f, TextShow.Generic.GTextShowConB1 g) => TextShow.Generic.GTextShowConB1 (f GHC.Internal.Generics.:*: g)
instance (TextShow.Classes.TextShow1 f, TextShow.Generic.GTextShowConB1 g) => TextShow.Generic.GTextShowConB1 (f GHC.Internal.Generics.:.: g)
instance TextShow.Classes.TextShow c => TextShow.Generic.GTextShowConB1 (GHC.Internal.Generics.K1 i c)
instance (GHC.Internal.Generics.Selector s, TextShow.Generic.GTextShowConB1 f) => TextShow.Generic.GTextShowConB1 (GHC.Internal.Generics.S1 s f)
instance TextShow.Generic.GTextShowConB1 GHC.Internal.Generics.Par1
instance TextShow.Classes.TextShow1 f => TextShow.Generic.GTextShowConB1 (GHC.Internal.Generics.Rec1 f)
instance TextShow.Generic.GTextShowConB1 GHC.Internal.Generics.U1
instance TextShow.Generic.GTextShowConB1 GHC.Internal.Generics.UChar
instance TextShow.Generic.GTextShowConB1 GHC.Internal.Generics.UDouble
instance TextShow.Generic.GTextShowConB1 GHC.Internal.Generics.UFloat
instance TextShow.Generic.GTextShowConB1 GHC.Internal.Generics.UInt
instance TextShow.Generic.GTextShowConB1 GHC.Internal.Generics.UWord
instance forall k (f :: k -> *) (p :: k) (g :: k -> *). (TextShow.Generic.GTextShowConB (f p), TextShow.Generic.GTextShowConB (g p)) => TextShow.Generic.GTextShowConB ((GHC.Internal.Generics.:*:) f g p)
instance forall k1 (f :: * -> *) (g :: k1 -> *) (p :: k1). (TextShow.Classes.TextShow1 f, TextShow.Generic.GTextShowConB (g p)) => TextShow.Generic.GTextShowConB ((GHC.Internal.Generics.:.:) f g p)
instance forall k c i (p :: k). TextShow.Classes.TextShow c => TextShow.Generic.GTextShowConB (GHC.Internal.Generics.K1 i c p)
instance forall k (s :: GHC.Internal.Generics.Meta) (f :: k -> *) (p :: k). (GHC.Internal.Generics.Selector s, TextShow.Generic.GTextShowConB (f p)) => TextShow.Generic.GTextShowConB (GHC.Internal.Generics.S1 s f p)
instance TextShow.Classes.TextShow p => TextShow.Generic.GTextShowConB (GHC.Internal.Generics.Par1 p)
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow p) => TextShow.Generic.GTextShowConB (GHC.Internal.Generics.Rec1 f p)
instance forall k (p :: k). TextShow.Generic.GTextShowConB (GHC.Internal.Generics.U1 p)
instance forall k (p :: k). TextShow.Generic.GTextShowConB (GHC.Internal.Generics.UChar p)
instance forall k (p :: k). TextShow.Generic.GTextShowConB (GHC.Internal.Generics.UDouble p)
instance forall k (p :: k). TextShow.Generic.GTextShowConB (GHC.Internal.Generics.UFloat p)
instance forall k (p :: k). TextShow.Generic.GTextShowConB (GHC.Internal.Generics.UInt p)
instance forall k (p :: k). TextShow.Generic.GTextShowConB (GHC.Internal.Generics.UWord p)
instance (TextShow.Generic.GTextShowConT1 f, TextShow.Generic.GTextShowConT1 g) => TextShow.Generic.GTextShowConT1 (f GHC.Internal.Generics.:*: g)
instance (TextShow.Classes.TextShow1 f, TextShow.Generic.GTextShowConT1 g) => TextShow.Generic.GTextShowConT1 (f GHC.Internal.Generics.:.: g)
instance TextShow.Classes.TextShow c => TextShow.Generic.GTextShowConT1 (GHC.Internal.Generics.K1 i c)
instance (GHC.Internal.Generics.Selector s, TextShow.Generic.GTextShowConT1 f) => TextShow.Generic.GTextShowConT1 (GHC.Internal.Generics.S1 s f)
instance TextShow.Generic.GTextShowConT1 GHC.Internal.Generics.Par1
instance TextShow.Classes.TextShow1 f => TextShow.Generic.GTextShowConT1 (GHC.Internal.Generics.Rec1 f)
instance TextShow.Generic.GTextShowConT1 GHC.Internal.Generics.U1
instance TextShow.Generic.GTextShowConT1 GHC.Internal.Generics.UChar
instance TextShow.Generic.GTextShowConT1 GHC.Internal.Generics.UDouble
instance TextShow.Generic.GTextShowConT1 GHC.Internal.Generics.UFloat
instance TextShow.Generic.GTextShowConT1 GHC.Internal.Generics.UInt
instance TextShow.Generic.GTextShowConT1 GHC.Internal.Generics.UWord
instance (TextShow.Generic.GTextShowConTL1 f, TextShow.Generic.GTextShowConTL1 g) => TextShow.Generic.GTextShowConTL1 (f GHC.Internal.Generics.:*: g)
instance (TextShow.Classes.TextShow1 f, TextShow.Generic.GTextShowConTL1 g) => TextShow.Generic.GTextShowConTL1 (f GHC.Internal.Generics.:.: g)
instance TextShow.Classes.TextShow c => TextShow.Generic.GTextShowConTL1 (GHC.Internal.Generics.K1 i c)
instance (GHC.Internal.Generics.Selector s, TextShow.Generic.GTextShowConTL1 f) => TextShow.Generic.GTextShowConTL1 (GHC.Internal.Generics.S1 s f)
instance TextShow.Generic.GTextShowConTL1 GHC.Internal.Generics.Par1
instance TextShow.Classes.TextShow1 f => TextShow.Generic.GTextShowConTL1 (GHC.Internal.Generics.Rec1 f)
instance TextShow.Generic.GTextShowConTL1 GHC.Internal.Generics.U1
instance TextShow.Generic.GTextShowConTL1 GHC.Internal.Generics.UChar
instance TextShow.Generic.GTextShowConTL1 GHC.Internal.Generics.UDouble
instance TextShow.Generic.GTextShowConTL1 GHC.Internal.Generics.UFloat
instance TextShow.Generic.GTextShowConTL1 GHC.Internal.Generics.UInt
instance TextShow.Generic.GTextShowConTL1 GHC.Internal.Generics.UWord
instance forall k (f :: k -> *) (p :: k) (g :: k -> *). (TextShow.Generic.GTextShowConTL (f p), TextShow.Generic.GTextShowConTL (g p)) => TextShow.Generic.GTextShowConTL ((GHC.Internal.Generics.:*:) f g p)
instance forall k1 (f :: * -> *) (g :: k1 -> *) (p :: k1). (TextShow.Classes.TextShow1 f, TextShow.Generic.GTextShowConTL (g p)) => TextShow.Generic.GTextShowConTL ((GHC.Internal.Generics.:.:) f g p)
instance forall k c i (p :: k). TextShow.Classes.TextShow c => TextShow.Generic.GTextShowConTL (GHC.Internal.Generics.K1 i c p)
instance forall k (s :: GHC.Internal.Generics.Meta) (f :: k -> *) (p :: k). (GHC.Internal.Generics.Selector s, TextShow.Generic.GTextShowConTL (f p)) => TextShow.Generic.GTextShowConTL (GHC.Internal.Generics.S1 s f p)
instance TextShow.Classes.TextShow p => TextShow.Generic.GTextShowConTL (GHC.Internal.Generics.Par1 p)
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow p) => TextShow.Generic.GTextShowConTL (GHC.Internal.Generics.Rec1 f p)
instance forall k (p :: k). TextShow.Generic.GTextShowConTL (GHC.Internal.Generics.U1 p)
instance forall k (p :: k). TextShow.Generic.GTextShowConTL (GHC.Internal.Generics.UChar p)
instance forall k (p :: k). TextShow.Generic.GTextShowConTL (GHC.Internal.Generics.UDouble p)
instance forall k (p :: k). TextShow.Generic.GTextShowConTL (GHC.Internal.Generics.UFloat p)
instance forall k (p :: k). TextShow.Generic.GTextShowConTL (GHC.Internal.Generics.UInt p)
instance forall k (p :: k). TextShow.Generic.GTextShowConTL (GHC.Internal.Generics.UWord p)
instance forall k (f :: k -> *) (p :: k) (g :: k -> *). (TextShow.Generic.GTextShowConT (f p), TextShow.Generic.GTextShowConT (g p)) => TextShow.Generic.GTextShowConT ((GHC.Internal.Generics.:*:) f g p)
instance forall k1 (f :: * -> *) (g :: k1 -> *) (p :: k1). (TextShow.Classes.TextShow1 f, TextShow.Generic.GTextShowConT (g p)) => TextShow.Generic.GTextShowConT ((GHC.Internal.Generics.:.:) f g p)
instance forall k c i (p :: k). TextShow.Classes.TextShow c => TextShow.Generic.GTextShowConT (GHC.Internal.Generics.K1 i c p)
instance forall k (s :: GHC.Internal.Generics.Meta) (f :: k -> *) (p :: k). (GHC.Internal.Generics.Selector s, TextShow.Generic.GTextShowConT (f p)) => TextShow.Generic.GTextShowConT (GHC.Internal.Generics.S1 s f p)
instance TextShow.Classes.TextShow p => TextShow.Generic.GTextShowConT (GHC.Internal.Generics.Par1 p)
instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow p) => TextShow.Generic.GTextShowConT (GHC.Internal.Generics.Rec1 f p)
instance forall k (p :: k). TextShow.Generic.GTextShowConT (GHC.Internal.Generics.U1 p)
instance forall k (p :: k). TextShow.Generic.GTextShowConT (GHC.Internal.Generics.UChar p)
instance forall k (p :: k). TextShow.Generic.GTextShowConT (GHC.Internal.Generics.UDouble p)
instance forall k (p :: k). TextShow.Generic.GTextShowConT (GHC.Internal.Generics.UFloat p)
instance forall k (p :: k). TextShow.Generic.GTextShowConT (GHC.Internal.Generics.UInt p)
instance forall k (p :: k). TextShow.Generic.GTextShowConT (GHC.Internal.Generics.UWord p)
instance (TextShow.Generic.GTextShowT1 f, TextShow.Generic.GTextShowT1 g) => TextShow.Generic.GTextShowT1 (f GHC.Internal.Generics.:+: g)
instance (GHC.Internal.Generics.Constructor c, TextShow.Generic.GTextShowConT1 f, TextShow.Generic.IsNullary f) => TextShow.Generic.GTextShowT1 (GHC.Internal.Generics.C1 c f)
instance TextShow.Generic.GTextShowT1 f => TextShow.Generic.GTextShowT1 (GHC.Internal.Generics.D1 d f)
instance TextShow.Generic.GTextShowT1 GHC.Internal.Generics.V1
instance (TextShow.Generic.GTextShowTL1 f, TextShow.Generic.GTextShowTL1 g) => TextShow.Generic.GTextShowTL1 (f GHC.Internal.Generics.:+: g)
instance (GHC.Internal.Generics.Constructor c, TextShow.Generic.GTextShowConTL1 f, TextShow.Generic.IsNullary f) => TextShow.Generic.GTextShowTL1 (GHC.Internal.Generics.C1 c f)
instance TextShow.Generic.GTextShowTL1 f => TextShow.Generic.GTextShowTL1 (GHC.Internal.Generics.D1 d f)
instance TextShow.Generic.GTextShowTL1 GHC.Internal.Generics.V1
instance forall k (f :: k -> *) (p :: k) (g :: k -> *). (TextShow.Generic.GTextShowTL (f p), TextShow.Generic.GTextShowTL (g p)) => TextShow.Generic.GTextShowTL ((GHC.Internal.Generics.:+:) f g p)
instance forall k (c :: GHC.Internal.Generics.Meta) (f :: k -> *) (p :: k). (GHC.Internal.Generics.Constructor c, TextShow.Generic.GTextShowConTL (f p), TextShow.Generic.IsNullary f) => TextShow.Generic.GTextShowTL (GHC.Internal.Generics.C1 c f p)
instance forall k (f :: k -> *) (p :: k) (d :: GHC.Internal.Generics.Meta). TextShow.Generic.GTextShowTL (f p) => TextShow.Generic.GTextShowTL (GHC.Internal.Generics.D1 d f p)
instance forall k (p :: k). TextShow.Generic.GTextShowTL (GHC.Internal.Generics.V1 p)
instance forall k (f :: k -> *) (p :: k) (g :: k -> *). (TextShow.Generic.GTextShowT (f p), TextShow.Generic.GTextShowT (g p)) => TextShow.Generic.GTextShowT ((GHC.Internal.Generics.:+:) f g p)
instance forall k (c :: GHC.Internal.Generics.Meta) (f :: k -> *) (p :: k). (GHC.Internal.Generics.Constructor c, TextShow.Generic.GTextShowConT (f p), TextShow.Generic.IsNullary f) => TextShow.Generic.GTextShowT (GHC.Internal.Generics.C1 c f p)
instance forall k (f :: k -> *) (p :: k) (d :: GHC.Internal.Generics.Meta). TextShow.Generic.GTextShowT (f p) => TextShow.Generic.GTextShowT (GHC.Internal.Generics.D1 d f p)
instance forall k (p :: k). TextShow.Generic.GTextShowT (GHC.Internal.Generics.V1 p)
instance GHC.Internal.Generics.Generic1 TextShow.Generic.FromGeneric
instance forall k (f :: k -> *). GHC.Internal.Generics.Generic1 (TextShow.Generic.FromGeneric1 f)
instance GHC.Internal.Generics.Generic TextShow.Generic.ConType
instance GHC.Internal.Generics.Generic (TextShow.Generic.FromGeneric a)
instance forall k (f :: k -> *) (a :: k). GHC.Internal.Generics.Generic (TextShow.Generic.FromGeneric1 f a)
instance TextShow.Generic.IsNullary GHC.Internal.Generics.Par1
instance forall k (f :: k -> *) (g :: k -> *). TextShow.Generic.IsNullary (f GHC.Internal.Generics.:*: g)
instance forall k2 k (f :: k2 -> *) (g :: k -> k2). TextShow.Generic.IsNullary (f GHC.Internal.Generics.:.: g)
instance TextShow.Generic.IsNullary (GHC.Internal.Generics.K1 i c)
instance forall k (f :: k -> *) (s :: GHC.Internal.Generics.Meta). TextShow.Generic.IsNullary f => TextShow.Generic.IsNullary (GHC.Internal.Generics.S1 s f)
instance forall k (f :: k -> *). TextShow.Generic.IsNullary (GHC.Internal.Generics.Rec1 f)
instance TextShow.Generic.IsNullary GHC.Internal.Generics.U1
instance TextShow.Generic.IsNullary GHC.Internal.Generics.UChar
instance TextShow.Generic.IsNullary GHC.Internal.Generics.UDouble
instance TextShow.Generic.IsNullary GHC.Internal.Generics.UFloat
instance TextShow.Generic.IsNullary GHC.Internal.Generics.UInt
instance TextShow.Generic.IsNullary GHC.Internal.Generics.UWord
instance Language.Haskell.TH.Syntax.Lift TextShow.Generic.ConType
instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (TextShow.Generic.FromGeneric a)
instance forall k (f :: k -> *) (a :: k). Language.Haskell.TH.Syntax.Lift (f a) => Language.Haskell.TH.Syntax.Lift (TextShow.Generic.FromGeneric1 f a)
instance GHC.Classes.Ord TextShow.Generic.ConType
instance GHC.Classes.Ord a => GHC.Classes.Ord (TextShow.Generic.FromGeneric a)
instance forall k (f :: k -> *) (a :: k). GHC.Classes.Ord (f a) => GHC.Classes.Ord (TextShow.Generic.FromGeneric1 f a)
instance GHC.Internal.Read.Read TextShow.Generic.ConType
instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (TextShow.Generic.FromGeneric a)
instance forall k (f :: k -> *) (a :: k). GHC.Internal.Read.Read (f a) => GHC.Internal.Read.Read (TextShow.Generic.FromGeneric1 f a)
instance GHC.Internal.Show.Show TextShow.Generic.ConType
instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (TextShow.Generic.FromGeneric a)
instance forall k (f :: k -> *) (a :: k). GHC.Internal.Show.Show (f a) => GHC.Internal.Show.Show (TextShow.Generic.FromGeneric1 f a)
instance (GHC.Internal.Generics.Generic1 f, TextShow.Generic.GTextShowB1 (GHC.Internal.Generics.Rep1 f)) => TextShow.Classes.TextShow1 (TextShow.Generic.FromGeneric1 f)
instance TextShow.Classes.TextShow TextShow.Generic.ConType
instance (GHC.Internal.Generics.Generic a, TextShow.Generic.GTextShowB (GHC.Internal.Generics.Rep a ())) => TextShow.Classes.TextShow (TextShow.Generic.FromGeneric a)
instance forall k (f :: k -> *) (a :: k). (GHC.Internal.Generics.Generic1 f, TextShow.Generic.GTextShowB (GHC.Internal.Generics.Rep1 f a)) => TextShow.Classes.TextShow (TextShow.Generic.FromGeneric1 f a)
instance GHC.Internal.Data.Traversable.Traversable TextShow.Generic.FromGeneric
instance GHC.Internal.Data.Traversable.Traversable f => GHC.Internal.Data.Traversable.Traversable (TextShow.Generic.FromGeneric1 f)


-- | Functions for tracing and monitoring execution.
--   
--   These can be useful for investigating bugs or performance problems.
--   They should <i>not</i> be used in production code.
--   
--   If you do not wish to require <a>TextShow</a> instances for your
--   <tt>trace</tt> functions, the <a>TextShow.Debug.Trace.TH</a> and
--   <a>Text.Show.Text.Debug.Trace.Generic</a> modules exist to convert the
--   input to a debug message using Template Haskell or generics,
--   respectively.
--   
--   <i>Since: 2</i>
module TextShow.Debug.Trace

-- | The <a>tracet</a> function outputs the trace message given as its
--   first argument, before returning the second argument as its result.
--   
--   For example, this returns the value of <tt>f x</tt> but first outputs
--   the message.
--   
--   <pre>
--   tracet ("calling f with x = " &lt;&gt; showt x) (f x)
--   </pre>
--   
--   The <a>tracet</a> function should <i>only</i> be used for debugging,
--   or for monitoring execution. The function is not referentially
--   transparent: its type indicates that it is a pure function but it has
--   the side effect of outputting the trace message.
--   
--   <i>Since: 2</i>
tracet :: Text -> a -> a

-- | Like <a>tracet</a> but accepts a lazy <a>Text</a> argument.
--   
--   <i>Since: 2</i>
tracetl :: Text -> a -> a

-- | Like <a>tracet</a> but returns the message instead of a third value.
--   
--   <i>Since: 2</i>
tracetId :: Text -> Text

-- | Like <a>tracetId</a> but accepts a lazy <a>Text</a> argument.
--   
--   <i>Since: 2</i>
tracetlId :: Text -> Text

-- | Like <a>tracet</a>, but uses <a>showt</a> on the argument to convert
--   it to a <a>Text</a>.
--   
--   This makes it convenient for printing the values of interesting
--   variables or expressions inside a function. For example here we print
--   the value of the variables <tt>x</tt> and <tt>z</tt>:
--   
--   <pre>
--   f x y =
--       traceTextShow (x, z) $ result
--     where
--       z = ...
--       ...
--   </pre>
--   
--   <i>Since: 2</i>
traceTextShow :: TextShow a => a -> b -> b

-- | Like <a>traceTextShow</a> but returns the shown value instead of a
--   third value.
--   
--   <i>Since: 2</i>
traceTextShowId :: TextShow a => a -> a

-- | Like <a>tracet</a> but additionally prints a call stack if one is
--   available.
--   
--   In the current GHC implementation, the call stack is only availble if
--   the program was compiled with <tt>-prof</tt>; otherwise
--   <a>tracetStack</a> behaves exactly like <a>tracet</a>. Entries in the
--   call stack correspond to <tt>SCC</tt> annotations, so it is a good
--   idea to use <tt>-fprof-auto</tt> or <tt>-fprof-auto-calls</tt> to add
--   SCC annotations automatically.
--   
--   <i>Since: 2</i>
tracetStack :: Text -> a -> a

-- | Like <a>tracetStack</a> but accepts a lazy <a>Text</a> argument.
--   
--   <i>Since: 2</i>
tracetlStack :: Text -> a -> a

-- | The <a>tracetIO</a> function outputs the trace message from the IO
--   monad. This sequences the output with respect to other IO actions.
--   
--   <i>Since: 2</i>
tracetIO :: Text -> IO ()

-- | Like <a>tracetIO</a> but accepts a lazy <a>Text</a> argument.
--   
--   <i>Since: 2</i>
tracetlIO :: Text -> IO ()

-- | Like <a>tracet</a> but returning unit in an arbitrary
--   <a>Applicative</a> context. Allows for convenient use in do-notation.
--   Note that the application of <a>tracet</a> is not an action in the
--   <a>Applicative</a> context, as <a>tracetIO</a> is in the <a>IO</a>
--   type.
--   
--   <pre>
--   ... = do
--     x &lt;- ...
--     tracetM $ "x: " &lt;&gt; showt x
--     y &lt;- ...
--     tracetM $ "y: " &lt;&gt; showt y
--   </pre>
--   
--   <i>Since: 2</i>
tracetM :: Applicative f => Text -> f ()

-- | Like <a>tracetM</a> but accepts a lazy <a>Text</a> argument.
tracetlM :: Applicative f => Text -> f ()

-- | Like <a>tracetM</a>, but uses <a>showt</a> on the argument to convert
--   it to a <a>Text</a>.
--   
--   <pre>
--   ... = do
--     x &lt;- ...
--     traceTextShowM x
--     y &lt;- ...
--     traceTextShowM $ x + y
--   </pre>
--   
--   <i>Since: 2</i>
traceTextShowM :: (TextShow a, Applicative f) => a -> f ()

-- | The <a>tracetEvent</a> function behaves like <a>tracet</a> with the
--   difference that the message is emitted to the eventlog, if eventlog
--   profiling is available and enabled at runtime.
--   
--   It is suitable for use in pure code. In an IO context use
--   <a>tracetEventIO</a> instead.
--   
--   Note that when using GHC's SMP runtime, it is possible (but rare) to
--   get duplicate events emitted if two CPUs simultaneously evaluate the
--   same thunk that uses <a>traceEvent</a>.
--   
--   <i>Since: 2</i>
tracetEvent :: Text -> a -> a

-- | Like <a>tracetEvent</a> but accepts a lazy <a>Text</a> argument.
--   
--   <i>Since: 2</i>
tracetlEvent :: Text -> a -> a

-- | The <a>tracetEventIO</a> function emits a message to the eventlog, if
--   eventlog profiling is available and enabled at runtime.
--   
--   Compared to <a>tracetEvent</a>, <a>tracetEventIO</a> sequences the
--   event with respect to other IO actions.
--   
--   <i>Since: 2</i>
tracetEventIO :: Text -> IO ()

-- | Like <a>tracetEventIO</a> but accepts a lazy <a>Text</a> argument.
--   
--   <i>Since: 2</i>
tracetlEventIO :: Text -> IO ()

-- | The <a>tracetMarker</a> function emits a marker to the eventlog, if
--   eventlog profiling is available and enabled at runtime. The
--   <a>Text</a> is the name of the marker. The name is just used in the
--   profiling tools to help you keep clear which marker is which.
--   
--   This function is suitable for use in pure code. In an IO context use
--   <a>tracetMarkerIO</a> instead.
--   
--   Note that when using GHC's SMP runtime, it is possible (but rare) to
--   get duplicate events emitted if two CPUs simultaneously evaluate the
--   same thunk that uses <a>traceMarker</a>.
--   
--   <i>Since: 2</i>
tracetMarker :: Text -> a -> a

-- | Like <a>tracetMarker</a> but accepts a lazy <a>Text</a> argument.
--   
--   <i>Since: 2</i>
tracetlMarker :: Text -> a -> a

-- | The <a>tracetMarkerIO</a> function emits a marker to the eventlog, if
--   eventlog profiling is available and enabled at runtime.
--   
--   Compared to <a>tracetMarker</a>, <a>tracetMarkerIO</a> sequences the
--   event with respect to other IO actions.
--   
--   <i>Since: 2</i>
tracetMarkerIO :: Text -> IO ()

-- | Like <a>tracetMarkerIO</a> but accepts a lazy <a>Text</a> argument.
--   
--   <i>Since: 2</i>
tracetlMarkerIO :: Text -> IO ()


-- | Functions that splice traces into source code which take an arbitrary
--   data type or data family instance as an argument (even if it is not an
--   instance of <tt>TextShow</tt>). You need to enable the
--   <tt>TemplateHaskell</tt> language extension in order to use this
--   module.
--   
--   <i>Since: 2</i>
module TextShow.Debug.Trace.TH

-- | Generates a lambda expression which behaves like <a>traceTextShow</a>
--   (without requiring a <tt>TextShow</tt> instance).
--   
--   <i>Since: 2</i>
makeTraceTextShow :: Name -> Q Exp

-- | Generates a lambda expression which behaves like
--   <a>traceTextShowId</a> (without requiring a <tt>TextShow</tt>
--   instance).
--   
--   <i>Since: 2</i>
makeTraceTextShowId :: Name -> Q Exp

-- | Generates a lambda expression which behaves like <a>traceTextShowM</a>
--   (without requiring a <tt>TextShow</tt> instance).
--   
--   <i>Since: 2</i>
makeTraceTextShowM :: Name -> Q Exp


-- | Functions that trace the values of <a>Generic</a> instances (even if
--   they are not instances of <tt>TextShow</tt>).
--   
--   <i>Since: 2</i>
module TextShow.Debug.Trace.Generic

-- | A <a>Generic</a> implementation of <a>traceTextShow</a>.
--   
--   <i>Since: 2</i>
genericTraceTextShow :: (Generic a, GTextShowT (Rep a ())) => a -> b -> b

-- | A <a>Generic</a> implementation of <a>traceTextShowId</a>.
--   
--   <i>Since: 2</i>
genericTraceTextShowId :: (Generic a, GTextShowT (Rep a ())) => a -> a

-- | A <a>Generic</a> implementation of <tt>traceShowM</tt>.
--   
--   <i>Since: 2</i>
genericTraceTextShowM :: (Generic a, GTextShowT (Rep a ()), Applicative f) => a -> f ()


-- | Efficiently convert from values to <tt>Text</tt> via <a>Builder</a>s.
--   
--   <i>Since: 2</i>
module TextShow

-- | Conversion of values to <tt>Text</tt>. Because there are both strict
--   and lazy <tt>Text</tt> variants, the <a>TextShow</a> class
--   deliberately avoids using <tt>Text</tt> in its functions. Instead,
--   <a>showbPrec</a>, <a>showb</a>, and <a>showbList</a> all return
--   <a>Builder</a>, an efficient intermediate form that can be converted
--   to either kind of <tt>Text</tt>.
--   
--   <a>Builder</a> is a <a>Monoid</a>, so it is useful to use the
--   <a>mappend</a> (or <a>&lt;&gt;</a>) function to combine
--   <a>Builder</a>s when creating <a>TextShow</a> instances. As an
--   example:
--   
--   <pre>
--   import Data.Semigroup
--   import TextShow
--   
--   data Example = Example Int Int
--   instance TextShow Example where
--       showb (Example i1 i2) = showb i1 &lt;&gt; showbSpace &lt;&gt; showb i2
--   </pre>
--   
--   If you do not want to create <a>TextShow</a> instances manually, you
--   can alternatively use the <a>TextShow.TH</a> module to automatically
--   generate default <a>TextShow</a> instances using Template Haskell, or
--   the <a>TextShow.Generic</a> module to quickly define <a>TextShow</a>
--   instances using <a>GHC.Generics</a>.
--   
--   <i>Since: 2</i>
class TextShow a

-- | Convert a value to a <a>Builder</a> with the given predence.
--   
--   <i>Since: 2</i>
showbPrec :: TextShow a => Int -> a -> Builder

-- | Converts a value to a strict <a>Text</a>. If you hand-define this, it
--   should satisfy:
--   
--   <pre>
--   <a>showb</a> = <a>showbPrec</a> 0
--   </pre>
--   
--   <i>Since: 2</i>
showb :: TextShow a => a -> Builder

-- | Converts a list of values to a <a>Builder</a>. By default, this is
--   defined as <tt>'showbList = <a>showbListWith</a> <a>showb</a></tt>,
--   but it can be overridden to allow for specialized displaying of lists
--   (e.g., lists of <a>Char</a>s).
--   
--   <i>Since: 2</i>
showbList :: TextShow a => [a] -> Builder

-- | Converts a value to a strict <a>Text</a> with the given precedence.
--   This can be overridden for efficiency, but it should satisfy:
--   
--   <pre>
--   <a>showtPrec</a> p = <a>toStrict</a> . <a>showtlPrec</a> p
--   </pre>
--   
--   <i>Since: 3</i>
showtPrec :: TextShow a => Int -> a -> Text

-- | Converts a value to a strict <a>Text</a>. This can be overridden for
--   efficiency, but it should satisfy:
--   
--   <pre>
--   <a>showt</a> = <a>showtPrec</a> 0
--   <a>showt</a> = <a>toStrict</a> . <a>showtl</a>
--   </pre>
--   
--   The first equation is the default definition of <a>showt</a>.
--   
--   <i>Since: 3</i>
showt :: TextShow a => a -> Text

-- | Converts a list of values to a strict <a>Text</a>. This can be
--   overridden for efficiency, but it should satisfy:
--   
--   <pre>
--   <a>showtList</a> = <a>toStrict</a> . <a>showtlList</a>
--   </pre>
--   
--   <i>Since: 3</i>
showtList :: TextShow a => [a] -> Text

-- | Converts a value to a lazy <a>Text</a> with the given precedence. This
--   can be overridden for efficiency, but it should satisfy:
--   
--   <pre>
--   <a>showtlPrec</a> p = <a>toLazyText</a> . <a>showbPrec</a> p
--   </pre>
--   
--   <i>Since: 3</i>
showtlPrec :: TextShow a => Int -> a -> Text

-- | Converts a value to a lazy <a>Text</a>. This can be overridden for
--   efficiency, but it should satisfy:
--   
--   <pre>
--   <a>showtl</a> = <a>showtlPrec</a> 0
--   <a>showtl</a> = <a>toLazyText</a> . <a>showb</a>
--   </pre>
--   
--   The first equation is the default definition of <a>showtl</a>.
--   
--   <i>Since: 3</i>
showtl :: TextShow a => a -> Text

-- | Converts a list of values to a lazy <a>Text</a>. This can be
--   overridden for efficiency, but it should satisfy:
--   
--   <pre>
--   <a>showtlList</a> = <a>toLazyText</a> . <a>showbList</a>
--   </pre>
--   
--   <i>Since: 3</i>
showtlList :: TextShow a => [a] -> Text

-- | Surrounds <a>Builder</a> output with parentheses if the <a>Bool</a>
--   parameter is <a>True</a>.
--   
--   <i>Since: 2</i>
showbParen :: Bool -> Builder -> Builder

-- | Surrounds strict <a>Text</a> output with parentheses if the
--   <a>Bool</a> parameter is <a>True</a>.
--   
--   <i>Since: 3.4</i>
showtParen :: Bool -> Text -> Text

-- | Surrounds lazy <a>Text</a> output with parentheses if the <a>Bool</a>
--   parameter is <a>True</a>.
--   
--   <i>Since: 3.4</i>
showtlParen :: Bool -> Text -> Text

-- | Construct a <a>Builder</a> containing a comma followed by a space.
--   
--   <i>Since: 3.6</i>
showbCommaSpace :: Builder

-- | Construct a strict <a>Text</a> containing a comma followed by a space.
--   
--   <i>Since: 3.6</i>
showtCommaSpace :: Text

-- | Construct a lazy <a>Text</a> containing a comma followed by a space.
--   
--   <i>Since: 3.6</i>
showtlCommaSpace :: Text

-- | Construct a <a>Builder</a> containing a single space character.
--   
--   <i>Since: 2</i>
showbSpace :: Builder

-- | Construct a strict <a>Text</a> containing a single space character.
--   
--   <i>Since: 3.4</i>
showtSpace :: Text

-- | Construct a lazy <a>Text</a> containing a single space character.
--   
--   <i>Since: 3.4</i>
showtlSpace :: Text

-- | Lifting of the <a>TextShow</a> class to unary type constructors.
--   
--   <i>Since: 2</i>
class forall a. TextShow a => TextShow f a => TextShow1 (f :: Type -> Type)

-- | <a>showbPrec</a> function for an application of the type constructor
--   based on <a>showbPrec</a> and <a>showbList</a> functions for the
--   argument type.
--   
--   <i>Since: 3</i>
liftShowbPrec :: TextShow1 f => (Int -> a -> Builder) -> ([a] -> Builder) -> Int -> f a -> Builder

-- | <a>showbList</a> function for an application of the type constructor
--   based on <a>showbPrec</a> and <a>showbList</a> functions for the
--   argument type. The default implementation using standard list syntax
--   is correct for most types.
--   
--   <i>Since: 3</i>
liftShowbList :: TextShow1 f => (Int -> a -> Builder) -> ([a] -> Builder) -> [f a] -> Builder

-- | Lift the standard <a>showbPrec</a> and <a>showbList</a> functions
--   through the type constructor.
--   
--   <i>Since: 2</i>
showbPrec1 :: (TextShow1 f, TextShow a) => Int -> f a -> Builder

-- | <tt><a>showbUnaryWith</a> sp n p x</tt> produces the <a>Builder</a>
--   representation of a unary data constructor with name <tt>n</tt> and
--   argument <tt>x</tt>, in precedence context <tt>p</tt>, using the
--   function <tt>sp</tt> to show occurrences of the type argument.
--   
--   <i>Since: 2</i>
showbUnaryWith :: (Int -> a -> Builder) -> Builder -> Int -> a -> Builder

-- | <a>showtPrec</a> function for an application of the type constructor
--   based on <a>showtPrec</a> and <a>showtList</a> functions for the
--   argument type.
--   
--   The current implementation is based on <a>liftShowbPrec</a>
--   internally.
--   
--   <i>Since: 3.4</i>
liftShowtPrec :: TextShow1 f => (Int -> a -> Text) -> ([a] -> Text) -> Int -> f a -> Text

-- | <a>showtlPrec</a> function for an application of the type constructor
--   based on <a>showtlPrec</a> and <a>showtlList</a> functions for the
--   argument type.
--   
--   The current implementation is based on <a>liftShowbPrec</a>
--   internally.
--   
--   <i>Since: 3.4</i>
liftShowtlPrec :: TextShow1 f => (Int -> a -> Text) -> ([a] -> Text) -> Int -> f a -> Text

-- | Lifting of the <a>TextShow</a> class to binary type constructors.
--   
--   <i>Since: 2</i>
class forall a. TextShow a => TextShow1 f a => TextShow2 (f :: Type -> Type -> Type)

-- | <a>showbPrec</a> function for an application of the type constructor
--   based on <a>showbPrec</a> and <a>showbList</a> functions for the
--   argument types.
--   
--   <i>Since: 3</i>
liftShowbPrec2 :: TextShow2 f => (Int -> a -> Builder) -> ([a] -> Builder) -> (Int -> b -> Builder) -> ([b] -> Builder) -> Int -> f a b -> Builder

-- | <a>showbList</a> function for an application of the type constructor
--   based on <a>showbPrec</a> and <a>showbList</a> functions for the
--   argument types. The default implementation using standard list syntax
--   is correct for most types.
--   
--   <i>Since: 3</i>
liftShowbList2 :: TextShow2 f => (Int -> a -> Builder) -> ([a] -> Builder) -> (Int -> b -> Builder) -> ([b] -> Builder) -> [f a b] -> Builder

-- | Lift two <a>showbPrec</a> functions through the type constructor.
--   
--   <i>Since: 2</i>
showbPrec2 :: (TextShow2 f, TextShow a, TextShow b) => Int -> f a b -> Builder

-- | <tt><a>showbBinaryWith</a> sp n p x y</tt> produces the <a>Builder</a>
--   representation of a binary data constructor with name <tt>n</tt> and
--   arguments <tt>x</tt> and <tt>y</tt>, in precedence context <tt>p</tt>,
--   using the functions <tt>sp1</tt> and <tt>sp2</tt> to show occurrences
--   of the type arguments.
--   
--   <i>Since: 2</i>
showbBinaryWith :: (Int -> a -> Builder) -> (Int -> b -> Builder) -> Builder -> Int -> a -> b -> Builder

-- | <a>showtPrec</a> function for an application of the type constructor
--   based on <a>showtPrec</a> and <a>showtList</a> functions for the
--   argument type.
--   
--   The current implementation is based on <a>liftShowbPrec2</a>
--   internally.
--   
--   <i>Since: 3.4</i>
liftShowtPrec2 :: TextShow2 f => (Int -> a -> Text) -> ([a] -> Text) -> (Int -> b -> Text) -> ([b] -> Text) -> Int -> f a b -> Text

-- | <a>showtlPrec</a> function for an application of the type constructor
--   based on <a>showtlPrec</a> and <a>showtlList</a> functions for the
--   argument type.
--   
--   The current implementation is based on <a>liftShowbPrec2</a>
--   internally.
--   
--   <i>Since: 3.4</i>
liftShowtlPrec2 :: TextShow2 f => (Int -> a -> Text) -> ([a] -> Text) -> (Int -> b -> Text) -> ([b] -> Text) -> Int -> f a b -> Text

-- | A <tt>Builder</tt> is an efficient way to build lazy <tt>Text</tt>
--   values. There are several functions for constructing builders, but
--   only one to inspect them: to extract any data, you have to turn them
--   into lazy <tt>Text</tt> values using <tt>toLazyText</tt>.
--   
--   Internally, a builder constructs a lazy <tt>Text</tt> by filling
--   arrays piece by piece. As each buffer is filled, it is 'popped' off,
--   to become a new chunk of the resulting lazy <tt>Text</tt>. All this is
--   hidden from the user of the <tt>Builder</tt>.
data Builder

-- | Convert a <a>Builder</a> to a strict <a>Text</a>.
--   
--   <i>Since: 2</i>
toText :: Builder -> Text

-- | <i>O(n).</i> Extract a lazy <tt>Text</tt> from a <tt>Builder</tt> with
--   a default buffer size. The construction work takes place if and when
--   the relevant part of the lazy <tt>Text</tt> is demanded.
toLazyText :: Builder -> Text

-- | <i>O(n).</i> Extract a lazy <tt>Text</tt> from a <tt>Builder</tt>,
--   using the given size for the initial buffer. The construction work
--   takes place if and when the relevant part of the lazy <tt>Text</tt> is
--   demanded.
--   
--   If the initial buffer is too small to hold all data, subsequent
--   buffers will be the default buffer size.
toLazyTextWith :: Int -> Builder -> Text

-- | Convert a <a>Builder</a> to a <a>String</a> (without surrounding it
--   with double quotes, as <a>show</a> would).
--   
--   <i>Since: 2</i>
toString :: Builder -> String

-- | <i>O(1).</i> A <tt>Builder</tt> taking a single character, satisfying
--   
--   <ul>
--   <li><pre><a>toLazyText</a> (<a>singleton</a> c) = <a>singleton</a>
--   c</pre></li>
--   </ul>
singleton :: Char -> Builder

-- | <i>O(1).</i> A <tt>Builder</tt> taking a <a>Text</a>, satisfying
--   
--   <ul>
--   <li><pre><a>toLazyText</a> (<a>fromText</a> t) = <a>fromChunks</a>
--   [t]</pre></li>
--   </ul>
fromText :: Text -> Builder

-- | <i>O(1).</i> A <tt>Builder</tt> taking a lazy <tt>Text</tt>,
--   satisfying
--   
--   <ul>
--   <li><pre><a>toLazyText</a> (<a>fromLazyText</a> t) = t</pre></li>
--   </ul>
fromLazyText :: Text -> Builder

-- | <i>O(1).</i> A Builder taking a <tt>String</tt>, satisfying
--   
--   <ul>
--   <li><pre><a>toLazyText</a> (<a>fromString</a> s) = <a>fromChunks</a>
--   [S.pack s]</pre></li>
--   </ul>
--   
--   Performs replacement on invalid scalar values:
--   
--   <pre>
--   &gt;&gt;&gt; fromString "\55555"
--   "\65533"
--   </pre>
fromString :: String -> Builder

-- | <i>O(1).</i> Pop the strict <tt>Text</tt> we have constructed so far,
--   if any, yielding a new chunk in the result lazy <tt>Text</tt>.
flush :: Builder

-- | Computes the length of a <a>Builder</a>.
--   
--   <i>Since: 2</i>
lengthB :: Builder -> Int64

-- | Merges several <a>Builder</a>s, separating them by newlines.
--   
--   <i>Since: 2</i>
unlinesB :: [Builder] -> Builder

-- | Merges several <a>Builder</a>s, separating them by spaces.
--   
--   <i>Since: 2</i>
unwordsB :: [Builder] -> Builder

-- | Writes a value's strict <a>Text</a> representation to the standard
--   output, followed by a newline.
--   
--   <i>Since: 2</i>
printT :: TextShow a => a -> IO ()

-- | Writes a value's lazy <a>Text</a> representation to the standard
--   output, followed by a newline.
--   
--   <i>Since: 2</i>
printTL :: TextShow a => a -> IO ()

-- | Writes a value's strict <a>Text</a> representation to a file handle,
--   followed by a newline.
--   
--   <i>Since: 2</i>
hPrintT :: TextShow a => Handle -> a -> IO ()

-- | Writes a value's lazy <a>Text</a> representation to a file handle,
--   followed by a newline.
--   
--   <i>Since: 2</i>
hPrintTL :: TextShow a => Handle -> a -> IO ()

-- | An adapter newtype, suitable for <tt>DerivingVia</tt>. The
--   <a>TextShow</a> instance for <a>FromStringShow</a> is based on its
--   <tt>String</tt> <a>Show</a> instance. That is,
--   
--   <pre>
--   showbPrec p (<a>FromStringShow</a> x) = <a>showsToShowb</a> <a>showsPrec</a> p x
--   </pre>
--   
--   <i>Since: 2</i>
newtype FromStringShow a
FromStringShow :: a -> FromStringShow a
[fromStringShow] :: FromStringShow a -> a

-- | An adapter newtype, suitable for <tt>DerivingVia</tt>. The
--   <tt>String</tt> <a>Show</a> instance for <a>FromTextShow</a> is based
--   on its <a>TextShow</a> instance. That is,
--   
--   <pre>
--   showsPrec p (<a>FromTextShow</a> x) = <a>showbToShows</a> <a>showbPrec</a> p x
--   </pre>
--   
--   <i>Since: 2</i>
newtype FromTextShow a
FromTextShow :: a -> FromTextShow a
[fromTextShow] :: FromTextShow a -> a

-- | An adapter newtype, suitable for <tt>DerivingVia</tt>. The
--   <a>TextShow1</a> instance for <a>FromStringShow1</a> is based on its
--   <tt>String</tt> <a>Show1</a> instance. That is,
--   
--   <pre>
--   <a>liftShowbPrec</a> sp sl p (<a>FromStringShow1</a> x) =
--       <a>showsPrecToShowbPrec</a> (<a>liftShowsPrec</a> (<a>showbPrecToShowsPrec</a> sp)
--                                               (<a>showbToShows</a>         sl))
--                              p x
--   </pre>
--   
--   <i>Since: 3</i>
newtype FromStringShow1 (f :: k -> Type) (a :: k)
FromStringShow1 :: f a -> FromStringShow1 (f :: k -> Type) (a :: k)
[fromStringShow1] :: FromStringShow1 (f :: k -> Type) (a :: k) -> f a

-- | An adapter newtype, suitable for <tt>DerivingVia</tt>. The
--   <tt>String</tt> <a>Show1</a> instance for <a>FromTextShow1</a> is
--   based on its <a>TextShow1</a> instance. That is,
--   
--   <pre>
--   <a>liftShowsPrec</a> sp sl p (<a>FromTextShow1</a> x) =
--       <a>showbPrecToShowsPrec</a> (<a>liftShowbPrec</a> (<a>showsPrecToShowbPrec</a> sp)
--                                               (<a>showsToShowb</a>         sl))
--                              p x
--   </pre>
--   
--   <i>Since: 3</i>
newtype FromTextShow1 (f :: k -> Type) (a :: k)
FromTextShow1 :: f a -> FromTextShow1 (f :: k -> Type) (a :: k)
[fromTextShow1] :: FromTextShow1 (f :: k -> Type) (a :: k) -> f a

-- | An adapter newtype, suitable for <tt>DerivingVia</tt>. The
--   <a>TextShow2</a> instance for <a>FromStringShow2</a> is based on its
--   <tt>String</tt> <a>Show2</a> instance. That is,
--   
--   <pre>
--   <a>liftShowbPrec2</a> sp1 sl1 sp2 sl2 p (<a>FromStringShow2</a> x) =
--       <a>showsPrecToShowbPrec</a> (<a>liftShowsPrec2</a> (<a>showbPrecToShowsPrec</a> sp1)
--                                                (<a>showbToShows</a>         sl1)
--                                                (<a>showbPrecToShowsPrec</a> sp2)
--                                                (<a>showbToShows</a>         sl2))
--                              p x
--   </pre>
--   
--   <i>Since: 3</i>
newtype FromStringShow2 (f :: k -> k1 -> Type) (a :: k) (b :: k1)
FromStringShow2 :: f a b -> FromStringShow2 (f :: k -> k1 -> Type) (a :: k) (b :: k1)
[fromStringShow2] :: FromStringShow2 (f :: k -> k1 -> Type) (a :: k) (b :: k1) -> f a b

-- | An adapter newtype, suitable for <tt>DerivingVia</tt>. The
--   <tt>String</tt> <a>Show2</a> instance for <a>FromTextShow2</a> is
--   based on its <a>TextShow2</a> instance. That is,
--   
--   <pre>
--   liftShowsPrec2 sp1 sl1 sp2 sl2 p (<a>FromTextShow2</a> x) =
--       <a>showbPrecToShowsPrec</a> (<a>liftShowbPrec2</a> (<a>showsPrecToShowbPrec</a> sp1)
--                                                (<a>showsToShowb</a>         sl1)
--                                                (<a>showsPrecToShowbPrec</a> sp2)
--                                                (<a>showsToShowb</a>         sl2))
--                              p x
--   </pre>
--   
--   <i>Since: 3</i>
newtype FromTextShow2 (f :: k -> k1 -> Type) (a :: k) (b :: k1)
FromTextShow2 :: f a b -> FromTextShow2 (f :: k -> k1 -> Type) (a :: k) (b :: k1)
[fromTextShow2] :: FromTextShow2 (f :: k -> k1 -> Type) (a :: k) (b :: k1) -> f a b

-- | Convert a precedence-aware <a>ShowS</a>-based show function to a
--   <a>Builder</a>-based one.
--   
--   <i>Since: 3</i>
showsPrecToShowbPrec :: (Int -> a -> ShowS) -> Int -> a -> Builder

-- | Convert a <a>ShowS</a>-based show function to a <a>Builder</a>-based
--   one.
--   
--   <i>Since: 3</i>
showsToShowb :: (a -> ShowS) -> a -> Builder

-- | Convert a precedence-aware <a>Builder</a>-based show function to a
--   <a>ShowS</a>-based one.
--   
--   <i>Since: 3</i>
showbPrecToShowsPrec :: (Int -> a -> Builder) -> Int -> a -> ShowS

-- | Convert a <a>Builder</a>-based show function to a <a>ShowS</a>-based
--   one.
--   
--   <i>Since: 3</i>
showbToShows :: (a -> Builder) -> a -> ShowS

-- | Convert a precedence-aware, strict <a>Text</a>-based show function to
--   a <a>Builder</a>-based one.
--   
--   <i>Since: 3.4</i>
showtPrecToShowbPrec :: (Int -> a -> Text) -> Int -> a -> Builder

-- | Convert a precedence-aware, lazy <a>Text</a>-based show function to a
--   <a>Builder</a>-based one.
--   
--   <i>Since: 3.4</i>
showtlPrecToShowbPrec :: (Int -> a -> Text) -> Int -> a -> Builder

-- | Convert a strict <a>Text</a>-based show function to a
--   <a>Builder</a>-based one.
--   
--   <i>Since: 3.4</i>
showtToShowb :: (a -> Text) -> a -> Builder

-- | Convert a lazy <a>Text</a>-based show function to a
--   <a>Builder</a>-based one.
--   
--   <i>Since: 3.4</i>
showtlToShowb :: (a -> Text) -> a -> Builder

-- | Convert a precedence-aware <a>Builder</a>-based show function to a
--   strict <a>Text</a>-based one.
--   
--   <i>Since: 3.4</i>
showbPrecToShowtPrec :: (Int -> a -> Builder) -> Int -> a -> Text

-- | Convert a precedence-aware <a>Builder</a>-based show function to a
--   lazy <a>Text</a>-based one.
--   
--   <i>Since: 3.4</i>
showbPrecToShowtlPrec :: (Int -> a -> Builder) -> Int -> a -> Text

-- | Convert a <a>Builder</a>-based show function to a strict
--   <a>Text</a>-based one.
--   
--   <i>Since: 3</i>
showbToShowt :: (a -> Builder) -> a -> Text

-- | Convert a <a>Builder</a>-based show function to a lazy
--   <a>Text</a>-based one.
--   
--   <i>Since: 3</i>
showbToShowtl :: (a -> Builder) -> a -> Text
