anchor.diff:    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)) ^/+^ p_typ false false t) t_opt
  +  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) *)
  
positive.code:     separate_map_with_comments_kw let_doc (str "and") p_letbinding lbs
        (fun (p, t) -> Range.union_ranges p.prange t.range)
    | Val(lid, t) ->
      (str "val" ^^ space ^^ p_lident lid ^^ space ^^ colon) ^/+^ p_typ false false t
      (* KM : not exactly sure which one of the cases below and above is used for 'assume val ..'*)
    | Assume(id, t) ->
      let decl_keyword =
  
negative.code: 
  and p_justSig d = match d.d with
    | Val (lid, t) ->
        (str "val" ^^ space ^^ p_lident lid ^^ space ^^ colon) ^^ p_typ false false t
    | TopLevelLet (_, lbs) ->
        separate_map hardline (fun lb -> group (p_letlhs (str "let") lb)) lbs
    | _ ->
  