- | Print an arithemtic expression
prettyArith :: (PrettyExp exp1, PrettyExp exp2)
            => Coloring -> Prec -> exp1 -> ArithOp ty -> exp2 -> Doc
prettyArith coloring prec e1 op e2
  = maybeParens (prec >= opPrec op) $
    fillSep [ prettyExp coloring (opLeftPrec op) e1 <+> pretty op
            , prettyExp coloring (opRightPrec op) e2 ]

prettyArith :: (PrettyExp exp1, PrettyExp exp2)
            => Coloring -> Prec -> exp1 -> ArithOp ty -> exp2 -> Doc
prettyArith coloring prec e1 op e2
  = maybeParens (prec >= opPrec op) $
    fillSep [ prettyExp coloring (opLeftPrec op) e1 <+> pretty op
            , prettyExp coloring (opRightPrec op) e2 ]
prettyArith coloring prec e1 op e2
  = maybeParens (prec >= opPrec op) $
    fillSep [ prettyExp coloring (opLeftPrec op) e1 <+> pretty op
            , prettyExp coloring (opRightPrec op) e2 ]