anchor.diff:    | Match (e, branches) ->
         paren_if (ps || pb) (
           group (surround 2 1 (str "match") (p_noSeqTermAndComment false false e) (str "with") ^/^
  -        separate_map_last hardline p_patternBranch branches)
  -      )
  +        separate_map_last hardline p_patternBranch branches))
     | LetOpen (uid, e) ->
         paren_if ps (
           group (surround 2 1 (str "let open") (p_quident uid) (str "in") ^/^ p_term false pb e)
  
positive.code:         hang 2 (bar ^^ space ^^ (group ((p_tuplePattern p) ^/^ (str "when"))) ^/^
           (flow break1 [(p_tmFormula f); rarrow]))
      in
      group (branch ^/+^ p_term false pb e)
    in
    match pat.pat with
    | PatOr pats ->
  
negative.code: 
  and p_letbinding kw (pat, e) =
    let doc_pat = p_letlhs kw (pat, e) in
    let comm, doc_expr = p_term_sep false false e in
    let doc_expr = inline_comment_or_above comm doc_expr empty in
    ifflat (doc_pat ^/^ equals ^/^ doc_expr) (doc_pat ^^ space ^^ group (equals ^^ jump2 doc_expr))
  
  