anchor.diff:  
   namespace FSharp.Compiler.SourceCodeServices
   
  +open System.Collections.Generic
   open FSharp.Compiler.Range
   open FSharp.Compiler.SyntaxTree
   open FSharp.Compiler.SyntaxTreeOps
  
positive.code:         else unionRanges r1 r2
      
      let rangeOfDecls2 f decls = 
        match (decls |> List.map (f >> (fun (d:FSharpNavigationDeclarationItem) -> d.bodyRange))) with 
        | hd :: tl -> tl |> List.fold unionRangesChecked hd
        | [] -> range.Zero
      
      let rangeOfDecls = rangeOfDecls2 fst
  
  
negative.code:                 | SynTypeDefnSimpleRepr.Record(_, fields, mb) ->
                      let fields = 
                          [ for (Field(_, _, id, _, _, _, _, m)) in fields do
                              match id with
                              | Some ident -> 
                                  yield createMember(ident, FieldDecl, FSharpGlyph.Field, m, FSharpEnclosingEntityKind.Record, false, access)
                              | _ -> 
                                  () ]
                      let nested = fields@topMembers
                      [ createDeclLid(baseName, lid, TypeDecl, FSharpGlyph.Type, m, bodyRange mb nested, nested, FSharpEnclosingEntityKind.Record, false, access) ]
                  | SynTypeDefnSimpleRepr.TypeAbbrev(_, _, mb) ->
  