anchor.diff:  
   /// Represents information needed to call the F# IntelliSense service
   /// (including project/script options, file name and source)
  -type internal RequestOptions(opts, file, src, help) =
  +type internal RequestOptions(opts, file, src) =
     member x.Options : CheckOptions = opts
     member x.FileName : string = file
     member x.Source : string = src
  -  member x.HelpText : bool = help
     member x.WithSource(source) =
  -    RequestOptions(opts, file, source, help)
  +    RequestOptions(opts, file, source)
   
     override x.ToString() =
       sprintf "FileName: '%s'\nSource length: '%d'\nOptions: %s, %A, %A, %b, %b"
  
positive.code:       agent.PostAndReply(fun r -> GetTypeCheckInfo(opts, time, r))
  
    /// Invokes dot-completion request and writes information to the standard output
    member x.DoCompletion(opts : RequestOptions, ((line, column) as pos), lineStr, time) =
      let info = x.GetTypeCheckInfo(opts, time)
      let decls =
        Option.bind (fun (info: TypeCheckResults) ->
          // Get the long identifier before the current location
          // 'residue' is the part after the last dot and 'longName' is before
          // e.g.  System.Console.Wri  --> "Wri", [ "System"; "Console"; ]
          let lookBack = Parsing.createBackStringReader lineStr (column - 1)
          let residue, longName =
            lookBack |> Parsing.getFirst Parsing.parseBackIdentWithResidue
  
          // Get items & generate output
          try
            Some (info.GetDeclarations(None, pos, lineStr, (longName, residue), fun (_,_) -> false)
                  |> Async.RunSynchronously)
          with :? System.TimeoutException as e ->
                     printfn "ERROR: GetDeclarations timed out\n<<EOF>>"
                     None) info
                     
      match decls with
      | Some decls ->
        printfn "DATA: completion"
        for d in decls.Items do Console.WriteLine(d.Name)
        printfn "<<EOF>>"
        if opts.HelpText then
          printfn "DATA: helptext"
          let cs =
            [ for d in decls.Items do
                yield TipFormatter.formatTip d.DescriptionText ]
          Console.WriteLine(JsonConvert.SerializeObject(cs))
          printfn "<<EOF>>"
      | None -> printfn "ERROR: Could not get type information\n<<EOF>>"
  
  
    /// Gets ToolTip for the specified location (and prints it to the output)
    member x.GetToolTip(opts, ((line, column) as pos), lineStr, time) =
      match x.GetTypeCheckInfo(opts, time) with
      | Some(info) ->
        // Parsing - find the identifier around the current location
  
negative.code:     | Declarations file ->
          let file = Path.GetFullPath file
          if parsed file then
            let decls = agent.GetDeclarations(getoptions file)
            printfn "DATA: declarations"
            for tld in decls do
              let (s1, e1), (s2, e2) = tld.Declaration.Range
  