anchor.diff:  // It also needs to make adjustments depending on which style a signature
   // is to be printed in. For more details see the `annotation_style` type
   // definition.
  -and format_sig style terms no_last_op =
  +and format_sig style terms no_last_op flat_space =
     let terms', last = List.splitAt (List.length terms - 1) terms in
     let n, last_n, terms', sep, last_op, one_line_space =
       match style with
  
positive.code:   in
    let last_op = if List.length terms > 1 && (not no_last_op) then last_op else empty in
    let single_line_arg_indent = repeat n space in
    match List.length terms with
    | 1 -> List.hd terms
    | _ -> group (ifflat (space ^^ (separate sep terms') ^^ one_line_space ^^ last_op ^^ List.hd last)
             (prefix n 1 (group ((ifflat (space ^^ separate sep terms')
               (jump2 ((single_line_arg_indent ^^ separate (sep ^^ single_line_arg_indent) (List.map (fun x -> align (hang 2 x)) terms')))))))
                 (align (hang last_n (last_op ^^ List.hd last)))))
  
  and p_tmArrow style p_Tm e =
    let terms =
      match style with
      | Arrows _ -> p_tmArrow' p_Tm e
      | Binders _ -> collapse_binders p_Tm e
    in
    format_sig style terms false
  
  and p_tmArrow' p_Tm e =
    match e.tm with
  
negative.code:          | Some (t, tac) -> (sig_as_binders_if_possible t true) ^^ tac
           | None -> empty)
        in
        let terms, style =
          if inner_let then
            // let bs = [pats_for_inner_let pats] in
            let bs, style = pats_as_binders_if_possible pats in
            bs @ [ascr_doc], style
          else
            let bs, style = pats_as_binders_if_possible pats in
            bs @ [ascr_doc], style
        in
        group <| kw ^^ space ^^ p_lident lid ^^ (format_sig style terms true true)
    | _ ->
        (* doesn't have binders *)
        let ascr_doc =
          (match ascr with
           | Some (t, tac) -> group (colon ^^ p_typ_top (Arrows (2, 2)) false false t) ^^ tac //(sig_as_binders_if_possible t false) ^^ tac
           | None -> empty)
        in
        group (group (kw ^/^ p_tuplePattern pat) ^^ ascr_doc)
  
  and p_letbinding kw (pat, e) =
    let doc_pat = p_letlhs kw (pat, e) false 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))
  