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:     | Declarations file ->
          let file = Path.GetFullPath file
          if parsed file then
            let text = String.concat "\n" state.Files.[file]
            let opts = RequestOptions(agent.GetCheckerOptions(file, text, state.Project),
                                      file,
                                      text,
                                      state.HelpText)
            let decls = agent.GetDeclarations(opts)
            printfn "DATA: declarations"
            for tld in decls do
              let (s1, e1), (s2, e2) = tld.Declaration.Range
  
negative.code:     | PosCommand(cmd, file, ((line, col) as pos), timeout) ->
          let file = Path.GetFullPath file
          if parsed file && posok file line col then
            let opts = getoptions file
  
            match cmd with
            | Completion ->
                let decls = agent.DoCompletion(opts, pos, state.Files.[file].[line], timeout)
  
                match decls with
                | Some decls ->
                  printfn "DATA: completion"
                  for d in decls.Items do Console.WriteLine(d.Name)
                  printfn "<<EOF>>"
                  if state.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>>"
  
            | ToolTip ->
                let tipopt = agent.GetToolTip(opts, pos, state.Files.[file].[line], timeout)
  
                match tipopt with
                | None -> printfn "INFO: Could not fetch tooltip\n<<EOF>>"
                | Some tip ->
                match tip with
                | DataTipText(elems) when elems |> List.forall (function
                  DataTipElementNone -> true | _ -> false) ->
                  printfn "INFO: No tooltip information\n<<EOF>>"
                | _ ->
                    Console.WriteLine("DATA: tooltip")
                    Console.WriteLine(TipFormatter.formatTip tip)
                    Console.WriteLine("<<EOF>>")
            
            | FindDeclaration -> agent.FindDeclaration(opts, pos, state.Files.[file].[line], timeout)
          main state
  
  