anchor.diff:  and
       [<NoEquality; NoComparison>]
       SynModuleOrNamespace =
  -    | SynModuleOrNamespace of id:LongIdent * isRec: bool * isModule:bool * decls:SynModuleDecls * xmlDoc:PreXmlDoc * attributes:SynAttributes * access:SynAccess option * range:range
  +    | SynModuleOrNamespace of longId:LongIdent * isRecursive:bool * isModule:bool * decls:SynModuleDecls * xmlDoc:PreXmlDoc * attribs:SynAttributes * accessibility:SynAccess option * range:range
       member this.Range =
           match this with
  -        | SynModuleOrNamespace(_,_,_,_,_,_,_,m) -> m
  +        | SynModuleOrNamespace (range=m) -> m
   
   and
       [<NoEquality; NoComparison>]
       SynModuleOrNamespaceSig =
  -    | SynModuleOrNamespaceSig of id:LongIdent * isRec: bool * isModule:bool * SynModuleSigDecls * xmlDoc:PreXmlDoc * attributes:SynAttributes * SynAccess option * range:range
  +    | SynModuleOrNamespaceSig of longId:LongIdent * isRecursive:bool * isModule:bool * SynModuleSigDecls * xmlDoc:PreXmlDoc * attribs:SynAttributes * accessibility:SynAccess option * range:range
   
   and [<NoEquality; NoComparison>]
       ParsedHashDirective =
  
positive.code: and
      [<NoEquality; NoComparison>]
      SynInterfaceImpl =
      | InterfaceImpl of SynType * bindings:SynBinding list * range:range
  
  and
      [<NoEquality; NoComparison>]
      SynMatchClause =
      | Clause of SynPat * SynExpr option *  SynExpr * range:range * spTarget:SequencePointInfoForTarget
      member this.RangeOfGuardAndRhs =
          match this with
          | Clause(_,eo,e,_,_) ->
  
negative.code: [<RequireQualifiedAccess>]
  [<NoComparison; NoEquality>]
  type LexerWhitespaceContinuation =
      | Token            of ifdef:LexerIfdefStackEntries
      | IfDefSkip        of ifdef:LexerIfdefStackEntries * int * range:range
      | String           of ifdef:LexerIfdefStackEntries * range:range
      | VerbatimString   of ifdef:LexerIfdefStackEntries * range:range
      | TripleQuoteString of ifdef:LexerIfdefStackEntries * range:range
      | Comment          of ifdef:LexerIfdefStackEntries * int * range:range
      | SingleLineComment of ifdef:LexerIfdefStackEntries * int * range:range
      | StringInComment    of ifdef:LexerIfdefStackEntries * int * range:range
      | VerbatimStringInComment   of ifdef:LexerIfdefStackEntries * int * range:range
      | TripleQuoteStringInComment   of ifdef:LexerIfdefStackEntries * int * range:range
      | MLOnly            of ifdef:LexerIfdefStackEntries * range:range
      | EndLine           of LexerEndlineContinuation
  
      member x.LexerIfdefStack =
          match x with
          | LexCont.Token (ifdef=ifd)
          | LexCont.IfDefSkip (ifdef=ifd)
          | LexCont.String (ifdef=ifd)
          | LexCont.VerbatimString (ifdef=ifd)
          | LexCont.Comment (ifdef=ifd)
          | LexCont.SingleLineComment (ifdef=ifd)
          | LexCont.TripleQuoteString (ifdef=ifd)
          | LexCont.StringInComment (ifdef=ifd)
          | LexCont.VerbatimStringInComment (ifdef=ifd)
          | LexCont.TripleQuoteStringInComment (ifdef=ifd)
          | LexCont.MLOnly (ifdef=ifd) -> ifd
          | LexCont.EndLine endl -> endl.LexerIfdefStack
  
  and LexCont = LexerWhitespaceContinuation
  