module Type.PrettyPrint where

import Text.PrettyPrint


data ParensWhen = Fn | App | Never


class PrettyType a where
    pretty :: ParensWhen -> a -> Doc


commaSep :: [Doc] -> Doc
commaSep docs =
    sep (punctuate comma docs)


parensIf :: Bool -> Doc -> Doc
parensIf bool doc =
    if bool then parens doc else doc