anchor.diff:      let! refs = projectResults.GetUsesOfSymbol(symbol)
       return refs }
   
  -  member x.InvalidateConfiguration(options) = checker.InvalidateConfiguration(options)
  -
  +  member x.InvalidateConfiguration(options) = checker.InvalidateConfiguration(options)
positive.code:           let! res = checkResults.GetToolTipTextAlternate(line, col, lineStr, identIsland, token)
            let! sym = checkResults.GetSymbolUseAtLocation(line, col, lineStr, identIsland)
            Debug.WriteLine("Result: Got something, returning")
            return sym |> Option.bind (fun sym -> Some (res, (sym.RangeAlternate.StartColumn, sym.RangeAlternate.EndColumn)))
        }
      member x.GetDeclarationLocation(line, col, lineStr) =
        async {
  
negative.code: open Microsoft.FSharp.Compiler
  open Microsoft.FSharp.Compiler.SourceCodeServices
  
  module Symbols =
    /// We always know the text of the identifier that resolved to symbol.
    /// Trim the range of the referring text to only include this identifier.
    /// This means references like A.B.C are trimmed to "C".  This allows renaming to just rename "C". 
    let trimSymbolRegion(symbolUse:FSharpSymbolUse) (lastIdentAtLoc:string) =
      let m = symbolUse.RangeAlternate 
      let ((beginLine, beginCol), (endLine, endCol)) = ((m.StartLine, m.StartColumn), (m.EndLine, m.EndColumn))
               
      let (beginLine, beginCol) =
          if endCol >=lastIdentAtLoc.Length && (beginLine <> endLine || (endCol-beginCol) >= lastIdentAtLoc.Length) then 
              (endLine,endCol-lastIdentAtLoc.Length)
          else
              (beginLine, beginCol)
      (beginLine, beginCol), (endLine, endCol)
  
  // --------------------------------------------------------------------------------------
  /// Wraps the result of type-checking and provides methods for implementing
  /// various IntelliSense functions (such as completion & tool tips). Provides default
  