keyword "end"]
| EWith (e1, (ESkip, _)) => dBox [p_exp e1, space 1, keyword "with", space 1, keyword "end"]
| EWith (e1, e2) => dBox [p_exp e1, space 1, keyword "with", p_exp e2, space 1, keyword "end"]
+ | EIf (e1, e2, e3) => dBox [keyword "if", space 1, p_exp e1,
+ space 1, keyword "then", space 1, p_exp e2,
+ space 1, keyword "else", space 1, p_exp e3]
and p_exp e = p_exp' false e
fun p_decl d =