anchor.diff:  /// the whitespace.
   [<RequireQualifiedAccess>]
   [<NoComparison; NoEquality>]
  -type LexerWhitespaceContinuation = 
  +type LexerWhitespaceContinuation =
       | Token            of LexerIfdefStackEntries
  -    | IfDefSkip        of LexerIfdefStackEntries * int * range
  -    | String           of LexerIfdefStackEntries * range
  -    | VerbatimString   of LexerIfdefStackEntries * range
  -    | TripleQuoteString of LexerIfdefStackEntries * range
  -    | Comment          of LexerIfdefStackEntries * int * range
  -    | SingleLineComment of LexerIfdefStackEntries * int * range
  -    | StringInComment    of LexerIfdefStackEntries * int * range
  -    | VerbatimStringInComment   of LexerIfdefStackEntries * int * range
  -    | TripleQuoteStringInComment   of LexerIfdefStackEntries * int * range
  -    | MLOnly            of LexerIfdefStackEntries * range
  +    | IfDefSkip        of LexerIfdefStackEntries * int * range:range
  +    | String           of LexerIfdefStackEntries * range:range
  +    | VerbatimString   of LexerIfdefStackEntries * range:range
  +    | TripleQuoteString of LexerIfdefStackEntries * range:range
  +    | Comment          of LexerIfdefStackEntries * int * range:range
  +    | SingleLineComment of LexerIfdefStackEntries * int * range:range
  +    | StringInComment    of LexerIfdefStackEntries * int * range:range
  +    | VerbatimStringInComment   of LexerIfdefStackEntries * int * range:range
  +    | TripleQuoteStringInComment   of LexerIfdefStackEntries * int * range:range
  +    | MLOnly            of LexerIfdefStackEntries * range:range
       | EndLine           of LexerEndlineContinuation
  -    
  +
       member x.LexerIfdefStack =
  -        match x with 
  +        match x with
           | LexCont.Token ifd
           | LexCont.IfDefSkip (ifd,_,_)
           | LexCont.String (ifd,_)
  
positive.code: 
  /// The syntactic elements associated with the "return" of a function or method. Some of this is
  /// mostly dummy information to make the return element look like an argument,
  /// the important thing is that (a) you can give a return type for the function or method, and 
  /// (b) you can associate .NET attributes to return of a function or method and these get stored in .NET metadata.
  type SynReturnInfo = SynReturnInfo of (SynType * SynArgInfo) * range
  
  
  /// Operations related to the syntactic analysis of arguments of value, function and member definitions and signatures.
  
negative.code:         | SynExpr.TryFinally (_,_,m,_,_)
          | SynExpr.Sequential (_,_,_,_,m)
          | SynExpr.ArbitraryAfterError(_,m)
          | SynExpr.FromParseError (_,m)
          | SynExpr.DiscardAfterMissingQualificationAfterDot (_,m)
          | SynExpr.IfThenElse (_,_,_,_,_,_,m)
          | SynExpr.LongIdent (_,_,_,m)
          | SynExpr.LongIdentSet (_,_,m)
  