anchor.diff:        str "#light \"off\""
   
   (* TODO : needs to take the F# specific type instantiation *)
  -and p_typars bs suffix = p_binders true bs suffix
  +and p_typars (bs: list binder): document = p_binders true bs
   
   and p_fsdocTypeDeclPairs kw (typedecl, fsdoc_opt) =
     let decl, body = p_typeDecl (kw, fsdoc_opt) typedecl in
  
positive.code:     p_effectDefinition lid bs t eff_decls
  
  and p_effectRedefinition uid bs t =
      surround 2 1 (p_uident uid) (p_binders true bs []) (prefix2 equals (p_simpleTerm false false t))
  
  and p_effectDefinition uid bs t eff_decls =
    braces_with_nesting (
      group (surround 2 1 (p_uident uid) (p_binders true bs [])  (prefix2 colon (p_typ false false t))) ^/^
      prefix2 (str "with") (separate_break_map_last semi p_effectDecl eff_decls)
      )
  
  
negative.code: and p_typeDecl pre = function
    | TyconAbstract (lid, bs, typ_opt) ->
      let empty' : unit -> document = fun () -> empty in
      p_typeDeclPrefix pre false lid bs typ_opt, empty'
    | TyconAbbrev (lid, bs, typ_opt, t) ->
      let f () = jump2 (p_typ false false t) in
      p_typeDeclPrefix pre true lid bs typ_opt, f
    | TyconRecord (lid, bs, typ_opt, record_field_decls) ->
      let p_recordFieldAndComments ps (lid, t, doc_opt) =
        with_comment (p_recordFieldDecl ps) (lid, t, doc_opt) (extend_to_end_of_line t.range)
  