anchor.diff:    | QForall (bs, trigger, e1)
     | QExists (bs, trigger, e1) ->
         prefix2
  -        (soft_surround 2 0 (p_quantifier e ^^ space) (p_binders true bs) dot)
  +        (soft_surround 2 0 (p_quantifier e ^^ space) (p_binders true bs []) dot)
           (p_trigger trigger ^^ p_noSeqTerm ps pb e1)
     | _ -> p_simpleTerm ps pb e
   
  
positive.code:     group(str "module" ^^ space ^^ p_quident uid)
    | Tycon(true, [TyconAbbrev(uid, tpars, None, t), None]) ->
      let effect_prefix_doc = str "effect" ^^ space ^^ p_uident uid in
      surround 2 1 effect_prefix_doc (p_typars tpars) equals ^/+^ p_typ false false t
    | Tycon(false, tcdefs) ->
      (* TODO : needs some range information to be able to use this *)
      (* separate_map_with_comments (str "type" ^^ space) (str "and" ^^ space) p_fsdocTypeDeclPairs tcdefs *)
      precede_break_separate_map (str "type") (str "and") p_fsdocTypeDeclPairs tcdefs
    | TopLevelLet(q, lbs) ->
      let let_doc = str "let" ^^ p_letqualifier q ^^ space in
      separate_map_with_comments let_doc (str "and" ^^ space) p_letbinding lbs
  
negative.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
  
  
  (* ****************************************************************************)
  