anchor.diff:  
   let infix2 = infix 2 1
   let infix0 = infix 0 1
  +let infix0_group s l r = group (l ^^ space ^^ s ^^ space ^^ r)
   
   let break1 =
     break_ 1
  
positive.code: 
  and p_tmConjunction e = match e.tm with
    | Op({idText = "/\\"}, [e1;e2]) ->
        infix0 (str "/\\") (p_tmConjunction e1) (p_tmTuple e2)
    | _ -> p_tmTuple e
  
  and p_tmTuple e = with_comment p_tmTuple' e e.range
  
negative.code:        (* group the last pattern with the branch so, if possible, they are kept on the same line in case of the disjunctive
            pattern group being broken *)
         let last_pat_branch = one_pattern_branch hd in
         group (bar ^^ space ^^ (separate_map (break1 ^^ bar ^^ space) p_tuplePattern (List.rev tl)) ^/^ last_pat_branch)
       | [] -> failwith "Impossible: disjunctive pattern can't be empty")
    | _ ->
      one_pattern_branch pat
  