anchor.diff:              | _ -> List.rev acc
           loop (queryLexState source defines line) []
   
  -      let getCorrectRightCol (token: TokenInformation) = token.LeftColumn + token.FullMatchedLength
         let isIdentifier t = t.CharClass = TokenCharKind.Identifier
         let isOperator t = t.ColorClass = TokenColorKind.Operator
  +
  +      let (|GenericTypeParameterPrefix|StaticallyResolvedTypeParameterPrefix|Other|) token =
  +          match token.TokenName with
  +          | "QUOTE" -> GenericTypeParameterPrefix
  +          | "INFIX_AT_HAT_OP" -> StaticallyResolvedTypeParameterPrefix
  +          | name -> Other name
   
         // Operators: Filter out overlapped oparators (>>= operator is tokenized as three distinct tokens: GREATER, GREATER, EQUALS. 
         // Each of them has FullMatchedLength = 3. So, we take the first GREATER and skip the other two).
  
positive.code: 
    //let tap msg x = debug "[%s] %A" msg x; x
  
    let (|TypeParameterPrefix|_|) =
        let prefixes = set ["QUOTE"; "INFIX_AT_HAT_OP"]
        fun token -> 
          if prefixes |> Set.contains token.TokenName then Some()
          else None
  
    // Returns symbol at a given position.
    let getSymbol source line col lineStr (args: string array): Symbol option =
        let defines =
  
negative.code: ﻿namespace FSharp.CompilerBinding
  
  open System
  open System.IO
  open System.Diagnostics
  open Microsoft.FSharp.Compiler
  open Microsoft.FSharp.Compiler.SourceCodeServices
  open FSharpVSPowerTools
  
  // --------------------------------------------------------------------------------------
  /// Wraps the result of type-checking and provides methods for implementing
  