anchor.diff:          | Refine ({b = Annotated (lid', t)}, phi) when lid.idText = lid'.idText ->
             p_refinement b.aqual (p_ident lid) t phi
           | _ ->
  -          optional p_aqual b.aqual ^^ p_lident lid ^^ colon ^^ break_ 1 ^^ p_tmFormula t
  +          optional p_aqual b.aqual ^^ p_lident lid ^^ colon ^/^ p_tmFormula t
         in
         if is_atomic
         then group (lparen ^^ doc ^^ rparen)
  
positive.code:       soft_parens_with_nesting (p_refinement None underscore t phi)
      | _ ->
          (* TODO implement p_simpleArrow *)
          soft_parens_with_nesting (p_tuplePattern pat ^^ break_ 0 ^^ colon ^^ p_tmEqNoRefinement t)
      end
    | PatList pats ->
      surround 2 0 lbracket (separate_break_map semi p_tuplePattern pats) rbracket
  
negative.code:   let sep = if use_of then str "of" else colon in
    let uid_doc = group (bar ^^ space ^^ p_uident uid) in
    (* TODO : Should we allow tagging individual constructor with a comment ? *)
    optional p_fsdoc doc_opt ^^ default_or_map uid_doc (fun t -> (group (uid_doc ^^ space ^^ sep ^^ space ^^ p_typ false false t))) t_opt
  
  and p_letlhs kw (pat, _) =
    (* TODO : this should be refined when head is an applicative pattern (function definition) *)
  