anchor.diff:          let filtered = items |> filter tag
           filtered
   
  -    let getAllProjectFiles() =
  +    let getAllFSharpProjects() =
         seq { for p in IdeApp.Workspace.GetAllProjects() do
  -                if p.SupportedLanguages |> Array.contains "F#"
  -                then 
  -                    yield p.FileName.ToString() }
  -
  -    let getAllProjectSymbols projectFile =
  +                if p.SupportedLanguages |> Array.contains "F#" then 
  +                    yield p }
  +
  +    let getAllProjectSymbols (project: Project) =
           async {
               try
  -                match languageService.GetCachedProjectCheckResult projectFile with
  +                let checkResult = languageService.GetCachedProjectCheckResult (project.FileName.ToString())
  +                match checkResult with
                   | Some v -> let! allSymbols =  v.GetAllUsesOfAllSymbols()
                               return allSymbols |> Array.toSeq
                   | None -> return Seq.empty
  
positive.code: open MonoDevelop.Components.MainToolbar
  open MonoDevelop.Ide
  open MonoDevelop.Ide.Gui
  open Microsoft.FSharp.Compiler.SourceCodeServices
  open Symbols
  
  
negative.code:         let cachingSearch = Search.byPattern (Dictionary<_,_>())
          Task.Run(
              (fun () -> async {
                  for projFile in Search.getAllFSharpProjects() do
                      try
                          let shortName = projFile.FileName |> string |> IO.Path.GetFileName
                          LoggingService.LogInfo(sprintf "F# Global Search: Getting all project symbols for %s" shortName )
                          let! allProjectSymbols = Search.getAllProjectSymbols projFile
              
  