anchor.diff:      let rootNamespace = "WebSharper.UI.Next.Templating"
       let templateTy = ctx.ProvidedTypeDefinition(thisAssembly, rootNamespace, "Template", None)
   
  -    let mutable watcher: FileSystemWatcher = null
  +    let watchers = Dictionary<string, FileSystemWatcher>()
   
       let textHoleRegex = Regex @"\$(!?)\{([^\}]+)\}" 
       let dataHole = xn"data-hole"
  
positive.code: 
      do
          this.Disposing.Add <| fun _ ->
              if watcher <> null then watcher.Dispose()
              cache.Dispose()
  
          templateTy.DefineStaticParameters(
  
negative.code:                                 else cfg.ResolutionFolder +/ pathOrXml
  
                              if cfg.IsInvalidationSupported then
                                  if not (watchers.ContainsKey htmlFile) then
                                      let watcher =
                                          new FileSystemWatcher(Path.GetDirectoryName htmlFile, Path.GetFileName htmlFile, 
                                              NotifyFilter = (NotifyFilters.LastWrite ||| NotifyFilters.Security ||| NotifyFilters.FileName)
                                          )
                                      let inv _ =
                                          if watchers.Remove(htmlFile) then
                                              watcher.Dispose()
                                          this.Invalidate()
                                      watcher.Changed.Add inv
                                      watcher.Deleted.Add inv
                                      watcher.Renamed.Add inv
                                      watcher.Created.Add inv
                                      watcher.EnableRaisingEvents <- true
                                      watchers.Add(htmlFile, watcher)
  
                              parseXml (File.ReadAllText htmlFile) 
                          
  