ppStatement (ForStmt init_assign expr_cond loop_assign stmt)
  = x $$ nest 2 (ppStatement stmt)
  where
    x = text "for" <+> parens (ppAssignment init_assign <> semi <+>
                               ppExpr expr_cond <> semi <+>
                               ppAssignment loop_assign)
ppStatement (ForStmt init_assign expr_cond loop_assign stmt)
  = x $$ nest 2 (ppStatement stmt)
  where
    x = text "for" <+> parens (ppAssignment init_assign <> semi <+>
                               ppExpr expr_cond <> semi <+>
                               ppAssignment loop_assign)
ppStatement (ForStmt init_assign expr_cond loop_assign stmt)
  = x $$ nest 2 (ppStatement stmt)
  where
    x = text "for" <+> parens (ppAssignment init_assign <> semi <+>
                               ppExpr expr_cond <> semi <+>
                               ppAssignment loop_assign)