anchor.diff:          abstract filters: obj option with get,set
           abstract openLabel: string option with get,set
   
  +    and CreateTreeViewOptions<'T> =
  +        abstract treeDataProvider: TreeDataProvider<'T> with get,set
  +
  +    and TreeViewRevealOptions =
  +        abstract select: bool option with get,set
  +
  +    and TreeView<'T> =
  +        abstract member reveal: element: 'T * ?options: TreeViewRevealOptions -> Promise<unit>
  +        abstract member dispose: unit -> obj
  +
       let [<Import("version","vscode")>] version: string = failwith "JS only"
   
       type [<Import("commands","vscode")>] commands =
  
positive.code:         abstract onDidChangeTreeData: Event<'T option> with get
          abstract getTreeItem: 'T -> TreeItem
          abstract getChildren: 'T -> ResizeArray<'T>
  
      and TreeIconPath =
          abstract light: U3<string, Uri, ThemeIcon> with get, set
  
negative.code:         static member createTerminal(?name : string, ?shellPath : string, ?shellArgs : string[]) : Terminal = failwith "JS only"
          static member onDidCloseTerminal with get(): Event<Terminal> = failwith "JS only"
          static member registerTreeDataProvider<'T>(viewId: string, provider: TreeDataProvider<'T>): Disposable = failwith "JS only"
          static member createTreeView<'T>(viewId: string, options: CreateTreeViewOptions<'T>): TreeView<'T> = failwith "JS only"
          static member withProgress(options : ProgressOptions, func: Progress<ProgressMessage> -> Promise<'T> ) : Promise<'T> = failwith "JS only"
          static member showOpenDialog(options: OpenDialogOptions) : Promise<Uri[]> = failwith "JS only"
          static member showSaveDialog(options : SaveDialogOptions) : Promise<Uri> = failwith "JS only"
  