anchor.diff:      do projectItemsEvents.add_ItemRemoved(fun p -> invalidateProject p)
       do projectItemsEvents.add_ItemRenamed(fun p _ -> invalidateProject p)
       
  -    do events.SolutionEvents.add_AfterClosing (fun _ -> 
  -        debug "[Language Service] Solution closed. Remove Checker."
  -        instance.Swap (fun _ -> None) |> ignore)
  +    do events.SolutionEvents.add_Opened (fun _ -> 
  +        debug "[Language Service] Solution opened. Create Checker."
  +        instance <- LanguageService (fun _ -> ()))
   
       let buildQueryLexState (textBuffer: ITextBuffer) source defines line =
           try
  
positive.code:      editorFactory: IVsEditorAdaptersFactoryService,
       fsharpLanguageService: FSharpLanguageService) =
  
      let instance = Atom None
      
      let getInstance() = 
          match instance.Value with
          | Some x -> x
          | None -> 
              instance.Swap (fun _ -> Some (LanguageService (fun _ -> ()))) |> ignore
              debug "Checker created."
              instance.Value.Value
  
      let invalidateProject (projectItem: EnvDTE.ProjectItem) =
          let project = projectItem.ContainingProject
          if box project <> null && isFSharpProject project then
              let p = ProjectProvider.createForProject project
              debug "[Language Service] InteractiveChecker.InvalidateConfiguration for %s" p.ProjectFileName
              let opts = getInstance().GetCheckerOptions (null, p.ProjectFileName, null, p.SourceFiles, 
                                                     p.CompilerOptions, p.TargetFramework)
              getInstance().InvalidateConfiguration(opts)
  
      let dte = serviceProvider.GetService<EnvDTE.DTE, Interop.SDTE>()
      let events = dte.Events :?> EnvDTE80.Events2
  
negative.code:             let framework = projectProvider.TargetFramework
              let args = projectProvider.CompilerOptions
              let sourceFiles = projectProvider.SourceFiles
              let! results = instance.ParseAndCheckFileInProject(   
                                 projectFileName, currentFile, source, sourceFiles, args, framework, stale)
              let symbol = results.GetSymbolAtLocation (endLine+1, symbol.RightColumn, currentLine, [symbol.Text])
              return symbol |> Option.map (fun s -> s, results)
  