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:   | _ -> true
    in
    match map_if_all all_binders pats with
    | Some bs -> // flow break1 (collapse_pats bs)
        collapse_pats bs, Binders (4, 0, true)
        // List.fold_left (fun x y -> x ^/^ y) empty (map_rev (fun (x, y) -> soft_parens_with_nesting (x ^^ colon ^^ y)) bs)
    | None -> // flow_map break1 p_atomicPattern pats
        if all all_unbound pats then
          List.map p_atomicPattern pats, Binders (4, 0, false)
        else
          List.map p_atomicPattern pats, Arrows (2, 2)
  
  and p_quantifier e = match e.tm with
      | QForall _ -> str "forall"
  
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 ^^
  