- | Print a conditional
prettyIf :: (PrettyExp exp1, PrettyExp exp2, PrettyExp exp3)
         => Coloring -> Prec -> exp1 -> exp2 -> exp3 -> Doc
prettyIf coloring prec e1 e2 e3
  = maybeParens (prec >= ifPrec) $
    fillSep [ text "if" <+> prettyExp coloring topPrec e1
            , text "then" <+> prettyExp coloring topPrec e2
            , text "else" <+> prettyExp coloring topPrec e3 ]

prettyIf :: (PrettyExp exp1, PrettyExp exp2, PrettyExp exp3)
         => Coloring -> Prec -> exp1 -> exp2 -> exp3 -> Doc
prettyIf coloring prec e1 e2 e3
  = maybeParens (prec >= ifPrec) $
    fillSep [ text "if" <+> prettyExp coloring topPrec e1
            , text "then" <+> prettyExp coloring topPrec e2
            , text "else" <+> prettyExp coloring topPrec e3 ]
prettyIf coloring prec e1 e2 e3
  = maybeParens (prec >= ifPrec) $
    fillSep [ text "if" <+> prettyExp coloring topPrec e1
            , text "then" <+> prettyExp coloring topPrec e2
            , text "else" <+> prettyExp coloring topPrec e3 ]