anchor.diff:          group (concat [
                       lbrace; (doc_of_term e); space; str "with"; space;
                       separate_map space 
  -                        (fun ((l:FStar.Ident.lid),e) -> str l.str ^^ equals ^^ doc_of_term e)
  +                        (fun (l,e) -> concat [str l.str; equals; doc_of_term e])
                           fields;
                       rbrace])
     | Record(None, fields) ->
           group (concat [
                       lbrace; 
                       separate_map space
  -                        (fun ((l:FStar.Ident.lid),e) -> (str l.str) ^^ equals ^^ (doc_of_term e))
  +                        (fun (l,e) -> concat [(str l.str); equals; (doc_of_term e)])
                           fields;
                       rbrace
                       ])
     | Project(e,l) ->
  -        group (doc_of_term e ^^ dot ^^ str l.str)
  +        group (concat [doc_of_term e; dot; str l.str])
     | Product([], t) ->
           group (doc_of_term t)
     | Product(b::hd::tl, t) ->
  
positive.code:   | TAnnotated(i,t)
    | Annotated(i,t) -> concat [str i.idText; colon; doc_of_term t]
    | NoName t -> doc_of_term t in
    (doc_of_aqual x.aqual) ^^ s
  
  and doc_of_aqual = function
     | Some Equality -> str "$"
  
negative.code: (** Convert Parser.Ast to Pprint.document for prettyprinting. *)
  module FStar.Parser.ToDocument
  
  open FStar
  open FStar.Parser.AST
  open FStar.Ident
  open FStar.Const
  open FStar.Pprint
  
  // VALS_HACK_HERE
  
  // abbrev 
  let str s = document_of_string s
  
  // doc_of_* begins
  let doc_of_fsdoc (comment,keywords) = 
      group (concat [(str comment); space; 
                     (separate_map (str ",") 
  