anchor.diff:      separate_map (str "\\/") p_conjunctivePats pats
   
   and p_conjunctivePats pats =
  -    group (separate_map semi p_appTerm pats)
  +    group (separate_map (semi ^^ break1) p_appTerm pats)
   
   and p_simpleTerm ps pb e = match e.tm with
       | Abs(pats, e) ->
  
positive.code:       then empty
        else str "val" ^^ space
      in
      decl_keyword ^^ p_ident id ^^ space ^^ group (colon ^^ space ^^ (p_typ false false t))
    | Exception(uid, t_opt) ->
      str "exception" ^^ space ^^ p_uident uid ^^ optional (fun t -> break1 ^^ str "of" ^/+^ p_typ false false t) t_opt
    | NewEffect(ne) ->
  
negative.code: (* ****************************************************************************)
  
  let rec p_decl d =
    let qualifiers =
      (* Don't push 'assume' on a new line when it used as a keyword *)
      match (d.quals, d.d) with
      | ([Assumption], Assume(id, _)) ->
        if char_at id.idText 0 |> is_upper then
          p_qualifier Assumption ^^ space
        else
          p_qualifiers d.quals
      | _ -> p_qualifiers d.quals
    in
    optional p_fsdoc d.doc ^^
    p_attributes d.attrs ^^
    qualifiers ^^
    p_rawDecl d
  
  and p_attributes attrs =
      match attrs with
  