anchor.diff:    | Val (lid, t) ->
         (str "val" ^^ space ^^ p_lident lid ^^ space ^^ colon) ^^ p_typ false false t
     | TopLevelLet (_, lbs) ->
  -      separate_map hardline (fun lb -> group (p_letlhs (str "let") lb)) lbs
  +      separate_map hardline (fun lb -> group (p_letlhs (str "let") lb false)) lbs
     | _ ->
         empty
   
  
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 NoLetQualifier -> str "let"
          | _ -> str "and"
        in
        let doc_pat = p_letlhs doc_let_or_and (pat, e) true in
        let comm, doc_expr = p_term_sep false false e in
       let doc_expr = inline_comment_or_above comm doc_expr empty in
       attrs ^^
  