anchor.diff:          space ^^ braces_with_nesting (
             separate_map_last (semi ^^ break1) p_recordFieldAndComments record_field_decls)
       in
  -    p_typeDeclPrefix pre lid bs typ_opt, p_fields
  +    p_typeDeclPrefix pre true lid bs typ_opt, p_fields
     | TyconVariant (lid, bs, typ_opt, ct_decls) ->
       let p_constructorBranchAndComments (uid, t_opt, doc_opt, use_of) =
           let range = extend_to_end_of_line (dflt uid.idRange (map_opt t_opt (fun t -> t.range))) in
  
positive.code: 
  (* TODO : we may prefer to flow if there are more than 15 binders *)
  (* Note: also skipping multiBinder here. *)
  and p_binders is_atomic bs suffix =
      let suffix = List.filter (fun x -> x <> empty) suffix in
      separate_or_flow break1 <| (List.map (p_binder is_atomic) bs) @ suffix
  
  
  (* ****************************************************************************)
  
negative.code: and p_typeDecl pre = function
    | TyconAbstract (lid, bs, typ_opt) ->
      let empty' : unit -> document = fun () -> empty in
      p_typeDeclPrefix pre false lid bs typ_opt, empty'
    | TyconAbbrev (lid, bs, typ_opt, t) ->
      let f () = jump2 (p_typ false false t) in
      p_typeDeclPrefix pre true lid bs typ_opt, f
    | TyconRecord (lid, bs, typ_opt, record_field_decls) ->
      let p_recordFieldAndComments ps (lid, t, doc_opt) =
        with_comment (p_recordFieldDecl ps) (lid, t, doc_opt) (extend_to_end_of_line t.range)
  