anchor.diff:                 (str "if" ^/+^ p_noSeqTermAndComment false false e1) ^/^
                  (str "then" ^/+^ e2_doc) ^/^
                  (str "else" ^/+^ p_noSeqTermAndComment ps pb e3))
  -           | Some (as_opt, ret) ->
  +           | Some (as_opt, ret, use_eq) ->
                 group (
                   (str "if" ^/+^ p_noSeqTermAndComment false false e1) ^/^
                   ((match as_opt with
                     | None -> empty
                     | Some as_ident -> str "as" ^/^ p_ident as_ident)
                      ^/^
  -                 (str "returns" ^/+^ p_tmIff ret)) ^/^
  +                 (str (if use_eq then "returns$" else "returns") ^/+^ p_tmIff ret)) ^/^
                   (str "then" ^/+^ e2_doc) ^/^
                   (str "else" ^/+^ p_noSeqTermAndComment ps pb e3)))
     | TryWith(e, branches) ->
  
positive.code: and p_noSeqTermAndComment ps pb e = with_comment (p_noSeqTerm' ps pb) e e.range
  
  and p_noSeqTerm' ps pb e = match e.tm with
    | Ascribed (e, t, None) ->
        group (p_tmIff e ^/^ langle ^^ colon ^/^ p_typ ps pb t)
    | Ascribed (e, t, Some tac) ->
        group (p_tmIff e ^/^ langle ^^ colon ^/^ p_typ false false t ^/^ str "by" ^/^ p_typ ps pb (maybe_unthunk tac))
    | Op (id, [ e1; e2; e3 ]) when string_of_id id = ".()<-" ->
        group (
          group (p_atomicTermNotQUident e1 ^^ dot ^^ soft_parens_with_nesting (p_term false false e2)
  
negative.code:       (match ret_opt with
         | None ->
          group (surround 2 1 (str "match") (p_noSeqTermAndComment false false e) (str "with"))
         | Some (as_opt, ret, use_eq) ->
           group (surround 2 1 (str "match")
                               ((p_noSeqTermAndComment false false e) ^/+^
                                (match as_opt with
                                 | None -> empty
                                 | Some as_ident -> str "as" ^/+^ (p_ident as_ident)) ^/+^
                                (str (if use_eq then "returns$" else "returns") ^/+^ p_tmIff ret))
                               (str "with")))
  
        ^/^
  