    {-# LANGUAGE CPP #-}

    module Text.PrettyPrint.ANSI.Leijen {-# DEPRECATED "Compatibility module for users of ansi-wl-pprint - use \"Prettyprinter\" instead" #-} (

        Doc, putDoc, hPutDoc, empty, char, text, (<>), nest, line, linebreak, group,
        softline, softbreak, hardline, flatAlt, renderSmart, align, hang, indent,
        encloseSep, list, tupled, semiBraces, (<+>), (<$>), (</>), (<$$>), (<//>),
        hsep, vsep, fillSep, sep, hcat, vcat, fillCat, cat, punctuate, fill,
        fillBreak, enclose, squotes, dquotes, parens, angles, braces, brackets,
        lparen, rparen, langle, rangle, lbrace, rbrace, lbracket, rbracket, squote,
        dquote, semi, colon, comma, space, dot, backslash, equals, black, red,
        green, yellow, blue, magenta, cyan, white, dullblack, dullred, dullgreen,
        dullyellow, dullblue, dullmagenta, dullcyan, dullwhite, onblack, onred,
        ongreen, onyellow, onblue, onmagenta, oncyan, onwhite, ondullblack,
        ondullred, ondullgreen, ondullyellow, ondullblue, ondullmagenta, ondullcyan,
        ondullwhite, bold, debold, underline, deunderline, plain, string, int,
        integer, float, double, rational, Pretty(..), SimpleDoc, renderPretty,
        renderCompact, displayS, displayIO, bool, column, columns, nesting, width

    ) where

    #if MIN_VERSION_base(4,8,0)
    import Prelude hiding ((<$>))
    #else
    import Prelude
    #endif

    import qualified Data.Text.Lazy as TL
    import           System.IO

    import           Prettyprinter                 (Pretty (..))
    import qualified Prettyprinter                 as New
    import qualified Prettyprinter.Render.Terminal as NewT

    #if !(MIN_VERSION_base(4,11,0))
    import Data.Semigroup
    #endif

    type Doc = New.Doc NewT.AnsiStyle
    type SimpleDoc = New.SimpleDocStream NewT.AnsiStyle

    putDoc :: Doc -> IO ()
    putDoc :: Doc -> IO ()
    putDoc = Doc -> IO ()
    NewT.putDoc

    hPutDoc :: Handle -> Doc -> IO ()
    hPutDoc :: Handle -> Doc -> IO ()
    hPutDoc = Handle -> Doc -> IO ()
    NewT.hPutDoc

    empty :: Doc
    empty :: Doc
    empty = Doc
    forall ann. Doc ann
    New.emptyDoc

    char :: Char -> Doc
    char :: Char -> Doc
    char = Char -> Doc
    forall ann. Char -> Doc ann
    forall a ann. Pretty a => a -> Doc ann
    New.pretty

    text :: String -> Doc
    text :: String -> Doc
    text = String -> Doc
    forall ann. String -> Doc ann
    forall a ann. Pretty a => a -> Doc ann
    New.pretty

    nest :: Int -> Doc -> Doc
    nest :: Int -> Doc -> Doc
    nest  = Int -> Doc -> Doc
    forall ann. Int -> Doc ann -> Doc ann
    New.nest

    line :: Doc
    line :: Doc
    line = Doc
    forall ann. Doc ann
    New.line

    linebreak :: Doc
    linebreak :: Doc
    linebreak = Doc -> Doc -> Doc
    forall ann. Doc ann -> Doc ann -> Doc ann
    New.flatAlt Doc
    forall ann. Doc ann
    New.line Doc
    forall a. Monoid a => a
    mempty

    group :: Doc -> Doc
    group :: Doc -> Doc
    group = Doc -> Doc
    forall ann. Doc ann -> Doc ann
    New.group

    softline :: Doc
    softline :: Doc
    softline = Doc
    forall ann. Doc ann
    New.softline

    softbreak :: Doc
    softbreak :: Doc
    softbreak = Doc -> Doc
    forall ann. Doc ann -> Doc ann
    New.group Doc
    linebreak

    hardline :: Doc
    hardline :: Doc
    hardline = Doc
    forall ann. Doc ann
    New.hardline

    flatAlt :: Doc -> Doc -> Doc
    flatAlt :: Doc -> Doc -> Doc
    flatAlt = Doc -> Doc -> Doc
    forall ann. Doc ann -> Doc ann -> Doc ann
    New.flatAlt

    renderSmart :: Float -> Int -> Doc -> SimpleDoc
    renderSmart :: Float -> Int -> Doc -> SimpleDoc
    renderSmart Float
    ribbonFraction Int
    pageWidth
        = LayoutOptions -> Doc -> SimpleDoc
    forall ann. LayoutOptions -> Doc ann -> SimpleDocStream ann
    New.layoutSmart New.LayoutOptions
            { layoutPageWidth :: PageWidth
    New.layoutPageWidth = Int -> Double -> PageWidth
    New.AvailablePerLine Int
    pageWidth (Float -> Double
    forall a b. (Real a, Fractional b) => a -> b
    realToFrac Float
    ribbonFraction) }

    align :: Doc -> Doc
    align :: Doc -> Doc
    align = Doc -> Doc
    forall ann. Doc ann -> Doc ann
    New.align

    hang :: Int -> Doc -> Doc
    hang :: Int -> Doc -> Doc
    hang = Int -> Doc -> Doc
    forall ann. Int -> Doc ann -> Doc ann
    New.hang

    indent :: Int -> Doc -> Doc
    indent :: Int -> Doc -> Doc
    indent = Int -> Doc -> Doc
    forall ann. Int -> Doc ann -> Doc ann
    New.indent

    encloseSep :: Doc -> Doc -> Doc -> [Doc] -> Doc
    encloseSep :: Doc -> Doc -> Doc -> [Doc] -> Doc
    encloseSep = Doc -> Doc -> Doc -> [Doc] -> Doc
    forall ann. Doc ann -> Doc ann -> Doc ann -> [Doc ann] -> Doc ann
    New.encloseSep

    list :: [Doc] -> Doc
    list :: [Doc] -> Doc
    list = [Doc] -> Doc
    forall ann. [Doc ann] -> Doc ann
    New.list

    tupled :: [Doc] -> Doc
    tupled :: [Doc] -> Doc
    tupled = [Doc] -> Doc
    forall ann. [Doc ann] -> Doc ann
    New.tupled

    semiBraces :: [Doc] -> Doc
    semiBraces :: [Doc] -> Doc
    semiBraces = Doc -> Doc -> Doc -> [Doc] -> Doc
    forall ann. Doc ann -> Doc ann -> Doc ann -> [Doc ann] -> Doc ann
    New.encloseSep Doc
    forall ann. Doc ann
    New.lbrace Doc
    forall ann. Doc ann
    New.rbrace Doc
    forall ann. Doc ann
    New.semi

    (<+>), (<$>), (</>), (<$$>), (<//>) :: Doc -> Doc -> Doc
    <+> :: Doc -> Doc -> Doc
    (<+>) = Doc -> Doc -> Doc
    forall ann. Doc ann -> Doc ann -> Doc ann
    (New.<+>)
    <$> :: Doc -> Doc -> Doc
    (<$>) = \Doc
    x Doc
    y -> Doc
    x Doc -> Doc -> Doc
    forall a. Semigroup a => a -> a -> a
    <> Doc
    forall ann. Doc ann
    New.line Doc -> Doc -> Doc
    forall a. Semigroup a => a -> a -> a
    <> Doc
    y
    </> :: Doc -> Doc -> Doc
    (</>) = \Doc
    x Doc
    y -> Doc
    x Doc -> Doc -> Doc
    forall a. Semigroup a => a -> a -> a
    <> Doc
    softline Doc -> Doc -> Doc
    forall a. Semigroup a => a -> a -> a
    <> Doc
    y
    <$$> :: Doc -> Doc -> Doc
    (<$$>) = \Doc
    x Doc
    y -> Doc
    x Doc -> Doc -> Doc
    forall a. Semigroup a => a -> a -> a
    <> Doc
    linebreak Doc -> Doc -> Doc
    forall a. Semigroup a => a -> a -> a
    <> Doc
    y
    <//> :: Doc -> Doc -> Doc
    (<//>) = \Doc
    x Doc
    y -> Doc
    x Doc -> Doc -> Doc
    forall a. Semigroup a => a -> a -> a
    <> Doc
    softbreak Doc -> Doc -> Doc
    forall a. Semigroup a => a -> a -> a
    <> Doc
    y

    hsep, vsep, fillSep, sep, hcat, vcat, fillCat, cat :: [Doc] -> Doc
    hsep :: [Doc] -> Doc
    hsep = [Doc] -> Doc
    forall ann. [Doc ann] -> Doc ann
    New.hsep
    vsep :: [Doc] -> Doc
    vsep = [Doc] -> Doc
    forall ann. [Doc ann] -> Doc ann
    New.vsep
    fillSep :: [Doc] -> Doc
    fillSep = [Doc] -> Doc
    forall ann. [Doc ann] -> Doc ann
    New.fillSep
    sep :: [Doc] -> Doc
    sep = [Doc] -> Doc
    forall ann. [Doc ann] -> Doc ann
    New.sep
    hcat :: [Doc] -> Doc
    hcat = [Doc] -> Doc
    forall ann. [Doc ann] -> Doc ann
    New.hcat
    vcat :: [Doc] -> Doc
    vcat = [Doc] -> Doc
    forall ann. [Doc ann] -> Doc ann
    New.vcat
    fillCat :: [Doc] -> Doc
    fillCat = [Doc] -> Doc
    forall ann. [Doc ann] -> Doc ann
    New.fillCat
    cat :: [Doc] -> Doc
    cat = [Doc] -> Doc
    forall ann. [Doc ann] -> Doc ann
    New.cat

    punctuate :: Doc -> [Doc] -> [Doc]
    punctuate :: Doc -> [Doc] -> [Doc]
    punctuate = Doc -> [Doc] -> [Doc]
    forall ann. Doc ann -> [Doc ann] -> [Doc ann]
    New.punctuate

    fill :: Int -> Doc -> Doc
    fill :: Int -> Doc -> Doc
    fill = Int -> Doc -> Doc
    forall ann. Int -> Doc ann -> Doc ann
    New.fill

    fillBreak :: Int -> Doc -> Doc
    fillBreak :: Int -> Doc -> Doc
    fillBreak = Int -> Doc -> Doc
    forall ann. Int -> Doc ann -> Doc ann
    New.fillBreak

    enclose :: Doc -> Doc -> Doc -> Doc
    enclose :: Doc -> Doc -> Doc -> Doc
    enclose = Doc -> Doc -> Doc -> Doc
    forall ann. Doc ann -> Doc ann -> Doc ann -> Doc ann
    New.enclose

    squotes, dquotes, parens, angles, braces, brackets :: Doc -> Doc
    squotes :: Doc -> Doc
    squotes = Doc -> Doc
    forall ann. Doc ann -> Doc ann
    New.squotes
    dquotes :: Doc -> Doc
    dquotes = Doc -> Doc
    forall ann. Doc ann -> Doc ann
    New.dquotes
    parens :: Doc -> Doc
    parens = Doc -> Doc
    forall ann. Doc ann -> Doc ann
    New.parens
    angles :: Doc -> Doc
    angles = Doc -> Doc
    forall ann. Doc ann -> Doc ann
    New.angles
    braces :: Doc -> Doc
    braces = Doc -> Doc
    forall ann. Doc ann -> Doc ann
    New.braces
    brackets :: Doc -> Doc
    brackets = Doc -> Doc
    forall ann. Doc ann -> Doc ann
    New.brackets

    lparen, rparen, langle, rangle, lbrace, rbrace, lbracket, rbracket, squote,
        dquote, semi, colon, comma, space, dot, backslash, equals :: Doc
    lparen :: Doc
    lparen = Doc
    forall ann. Doc ann
    New.lparen
    rparen :: Doc
    rparen = Doc
    forall ann. Doc ann
    New.rparen
    langle :: Doc
    langle = Doc
    forall ann. Doc ann
    New.langle
    rangle :: Doc
    rangle = Doc
    forall ann. Doc ann
    New.rangle
    lbrace :: Doc
    lbrace = Doc
    forall ann. Doc ann
    New.lbrace
    rbrace :: Doc
    rbrace = Doc
    forall ann. Doc ann
    New.rbrace
    lbracket :: Doc
    lbracket = Doc
    forall ann. Doc ann
    New.lbracket
    rbracket :: Doc
    rbracket = Doc
    forall ann. Doc ann
    New.rbracket
    squote :: Doc
    squote = Doc
    forall ann. Doc ann
    New.squote
    dquote :: Doc
    dquote = Doc
    forall ann. Doc ann
    New.dquote
    semi :: Doc
    semi = Doc
    forall ann. Doc ann
    New.semi
    colon :: Doc
    colon = Doc
    forall ann. Doc ann
    New.colon
    comma :: Doc
    comma = Doc
    forall ann. Doc ann
    New.comma
    space :: Doc
    space = Doc
    forall ann. Doc ann
    New.space
    dot :: Doc
    dot = Doc
    forall ann. Doc ann
    New.dot
    backslash :: Doc
    backslash = Doc
    forall ann. Doc ann
    New.backslash
    equals :: Doc
    equals = Doc
    forall ann. Doc ann
    New.equals

    black, red, green, yellow, blue, magenta, cyan, white, dullblack, dullred,
        dullgreen, dullyellow, dullblue, dullmagenta, dullcyan, dullwhite, onblack,
        onred, ongreen, onyellow, onblue, onmagenta, oncyan, onwhite, ondullblack,
        ondullred, ondullgreen, ondullyellow, ondullblue, ondullmagenta, ondullcyan,
        ondullwhite, bold, debold, underline, deunderline :: Doc -> Doc
    black :: Doc -> Doc
    black         = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.color       Color
    NewT.Black)
    red :: Doc -> Doc
    red           = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.color       Color
    NewT.Red)
    green :: Doc -> Doc
    green         = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.color       Color
    NewT.Green)
    yellow :: Doc -> Doc
    yellow        = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.color       Color
    NewT.Yellow)
    blue :: Doc -> Doc
    blue          = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.color       Color
    NewT.Blue)
    magenta :: Doc -> Doc
    magenta       = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.color       Color
    NewT.Magenta)
    cyan :: Doc -> Doc
    cyan          = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.color       Color
    NewT.Cyan)
    white :: Doc -> Doc
    white         = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.color       Color
    NewT.White)
    dullblack :: Doc -> Doc
    dullblack     = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.colorDull   Color
    NewT.Black)
    dullred :: Doc -> Doc
    dullred       = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.colorDull   Color
    NewT.Red)
    dullgreen :: Doc -> Doc
    dullgreen     = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.colorDull   Color
    NewT.Green)
    dullyellow :: Doc -> Doc
    dullyellow    = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.colorDull   Color
    NewT.Yellow)
    dullblue :: Doc -> Doc
    dullblue      = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.colorDull   Color
    NewT.Blue)
    dullmagenta :: Doc -> Doc
    dullmagenta   = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.colorDull   Color
    NewT.Magenta)
    dullcyan :: Doc -> Doc
    dullcyan      = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.colorDull   Color
    NewT.Cyan)
    dullwhite :: Doc -> Doc
    dullwhite     = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.colorDull   Color
    NewT.White)
    onblack :: Doc -> Doc
    onblack       = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColor     Color
    NewT.Black)
    onred :: Doc -> Doc
    onred         = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColor     Color
    NewT.Red)
    ongreen :: Doc -> Doc
    ongreen       = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColor     Color
    NewT.Green)
    onyellow :: Doc -> Doc
    onyellow      = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColor     Color
    NewT.Yellow)
    onblue :: Doc -> Doc
    onblue        = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColor     Color
    NewT.Blue)
    onmagenta :: Doc -> Doc
    onmagenta     = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColor     Color
    NewT.Magenta)
    oncyan :: Doc -> Doc
    oncyan        = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColor     Color
    NewT.Cyan)
    onwhite :: Doc -> Doc
    onwhite       = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColor     Color
    NewT.White)
    ondullblack :: Doc -> Doc
    ondullblack   = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColorDull Color
    NewT.Black)
    ondullred :: Doc -> Doc
    ondullred     = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColorDull Color
    NewT.Red)
    ondullgreen :: Doc -> Doc
    ondullgreen   = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColorDull Color
    NewT.Green)
    ondullyellow :: Doc -> Doc
    ondullyellow  = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColorDull Color
    NewT.Yellow)
    ondullblue :: Doc -> Doc
    ondullblue    = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColorDull Color
    NewT.Blue)
    ondullmagenta :: Doc -> Doc
    ondullmagenta = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColorDull Color
    NewT.Magenta)
    ondullcyan :: Doc -> Doc
    ondullcyan    = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColorDull Color
    NewT.Cyan)
    ondullwhite :: Doc -> Doc
    ondullwhite   = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate (Color -> AnsiStyle
    NewT.bgColorDull Color
    NewT.White)
    bold :: Doc -> Doc
    bold = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate AnsiStyle
    NewT.bold
    debold :: Doc -> Doc
    debold = Doc -> Doc
    forall a. a -> a
    id
    {-# WARNING debold "Debold does not do anything" #-}
    underline :: Doc -> Doc
    underline = AnsiStyle -> Doc -> Doc
    forall ann. ann -> Doc ann -> Doc ann
    New.annotate AnsiStyle
    NewT.underlined
    deunderline :: Doc -> Doc
    deunderline = Doc -> Doc
    forall a. a -> a
    id
    {-# WARNING deunderline "Debold does not do anything" #-}

    plain :: Doc -> Doc
    plain :: Doc -> Doc
    plain = Doc -> Doc
    forall ann xxx. Doc ann -> Doc xxx
    New.unAnnotate

    string :: String -> Doc
    string :: String -> Doc
    string = String -> Doc
    forall ann. String -> Doc ann
    forall a ann. Pretty a => a -> Doc ann
    New.pretty

    int :: Int -> Doc
    int :: Int -> Doc
    int = Int -> Doc
    forall ann. Int -> Doc ann
    forall a ann. Pretty a => a -> Doc ann
    New.pretty

    integer :: Integer -> Doc
    integer :: Integer -> Doc
    integer = Integer -> Doc
    forall ann. Integer -> Doc ann
    forall a ann. Pretty a => a -> Doc ann
    New.pretty

    float :: Float -> Doc
    float :: Float -> Doc
    float = Float -> Doc
    forall ann. Float -> Doc ann
    forall a ann. Pretty a => a -> Doc ann
    New.pretty

    double :: Double -> Doc
    double :: Double -> Doc
    double = Double -> Doc
    forall ann. Double -> Doc ann
    forall a ann. Pretty a => a -> Doc ann
    New.pretty

    rational :: Rational -> Doc
    rational :: Rational -> Doc
    rational = String -> Doc
    forall ann. String -> Doc ann
    forall a ann. Pretty a => a -> Doc ann
    New.pretty (String -> Doc) -> (Rational -> String) -> Rational -> Doc
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . Rational -> String
    forall a. Show a => a -> String
    show

    renderPretty :: Float -> Int -> Doc -> SimpleDoc
    renderPretty :: Float -> Int -> Doc -> SimpleDoc
    renderPretty Float
    ribbonFraction Int
    pageWidth
        = LayoutOptions -> Doc -> SimpleDoc
    forall ann. LayoutOptions -> Doc ann -> SimpleDocStream ann
    New.layoutSmart New.LayoutOptions
            { layoutPageWidth :: PageWidth
    New.layoutPageWidth = Int -> Double -> PageWidth
    New.AvailablePerLine Int
    pageWidth (Float -> Double
    forall a b. (Real a, Fractional b) => a -> b
    realToFrac Float
    ribbonFraction) }

    renderCompact :: Doc -> SimpleDoc
    renderCompact :: Doc -> SimpleDoc
    renderCompact = Doc -> SimpleDoc
    forall ann1 ann2. Doc ann1 -> SimpleDocStream ann2
    New.layoutCompact

    displayS :: SimpleDoc -> ShowS
    displayS :: SimpleDoc -> ShowS
    displayS SimpleDoc
    sdoc =
        let rendered :: Text
    rendered = SimpleDoc -> Text
    NewT.renderLazy SimpleDoc
    sdoc
        in (Text -> String
    TL.unpack Text
    rendered String -> ShowS
    forall a. [a] -> [a] -> [a]
    ++)

    displayIO :: Handle -> SimpleDoc -> IO ()
    displayIO :: Handle -> SimpleDoc -> IO ()
    displayIO = Handle -> SimpleDoc -> IO ()
    NewT.renderIO

    bool :: Bool -> Doc
    bool :: Bool -> Doc
    bool = Bool -> Doc
    forall ann. Bool -> Doc ann
    forall a ann. Pretty a => a -> Doc ann
    New.pretty

    column :: (Int -> Doc) -> Doc
    column :: (Int -> Doc) -> Doc
    column = (Int -> Doc) -> Doc
    forall ann. (Int -> Doc ann) -> Doc ann
    New.column

    columns :: (Maybe Int -> Doc) -> Doc
    columns :: (Maybe Int -> Doc) -> Doc
    columns Maybe Int -> Doc
    f = (PageWidth -> Doc) -> Doc
    forall ann. (PageWidth -> Doc ann) -> Doc ann
    New.pageWidth (Maybe Int -> Doc
    f (Maybe Int -> Doc) -> (PageWidth -> Maybe Int) -> PageWidth -> Doc
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . PageWidth -> Maybe Int
    toMaybeInt)
      where
        toMaybeInt :: New.PageWidth -> Maybe Int
        toMaybeInt :: PageWidth -> Maybe Int
    toMaybeInt (New.AvailablePerLine Int
    cpl Double
    _) = Int -> Maybe Int
    forall a. a -> Maybe a
    Just Int
    cpl
        toMaybeInt PageWidth
    New.Unbounded = Maybe Int
    forall a. Maybe a
    Nothing

    nesting :: (Int -> Doc) -> Doc
    nesting :: (Int -> Doc) -> Doc
    nesting = (Int -> Doc) -> Doc
    forall ann. (Int -> Doc ann) -> Doc ann
    New.nesting

    width :: Doc -> (Int -> Doc) -> Doc
    width :: Doc -> (Int -> Doc) -> Doc
    width = Doc -> (Int -> Doc) -> Doc
    forall ann. Doc ann -> (Int -> Doc ann) -> Doc ann
    New.width