anchor.diff:              
               let readText() = 
                 Async.RunSynchronously <| async {
  -                  use! stream = asyncOpenStream (Some tp.Invalidate) resolver uri
  +                  use! stream = asyncOpenStream (Some (tp.Invalidate, tp.AddChild)) resolver uri
                     use reader = new StreamReader(stream)
                     return reader.ReadToEnd()
                 } 
  
positive.code:   /// * replaceer -> the assemblyReplacer
    /// * resolutionFolder -> if the type provider allows to override the resolutionFolder pass it here
    let generateConstructors formatName sampleOrSampleUri sampleIsList parseSingle parseList getSpecFromSamples
                             (tp:TypeProviderForNamespaces) (cfg:TypeProviderConfig) (replacer:AssemblyReplacer) resolutionFolder =
  
      let isRunningInFSI = cfg.IsHostedExecution
      let defaultResolutionFolder = cfg.ResolutionFolder
  
negative.code:     let convBody = exprfunc (Expr.Var var)
      convBody.Type, Expr.NewDelegate(typedefof<Func<_,_>>.MakeGenericType(argType, convBody.Type), [var], convBody)
          
  // ----------------------------------------------------------------------------------------------
  
  type DisposableTypeProviderForNamespaces() =
    inherit TypeProviderForNamespaces()
  
    let mutable childDisposables = ResizeArray<IDisposable>()
  
    member __.AddChild = childDisposables.Add
  
    interface IDisposable with 
      member __.Dispose() = 
        let disposables = childDisposables.ToArray()
        childDisposables.Clear()
        for disposable in disposables do 
          try disposable.Dispose() with _ -> ()
  
  // ----------------------------------------------------------------------------------------------
  
  module ProviderHelpers =
  