anchor.diff:      with
       | exn -> ()
   
  -let rec annotateDirectoryNode (ownerType: ProvidedTypeDefinition) (dir: DirectoryInfo) propertyName withParent relative ctx () =
  -    watch dir.FullName ctx
  +let rec annotateDirectoryNode (ownerType: ProvidedTypeDefinition) (dir: DirectoryInfo) propertyName withParent relative watch ctx () =
  +    if watch then
  +        watchDir dir.FullName ctx
  +
       ownerType.HideObjectMethods <- true
       ownerType.AddXmlDoc(sprintf "A strongly typed interface to '%s'" dir.FullName)
   
  
positive.code:                 match relative with
                  | Some sourcePath -> Some((fixDirectoryPath sourcePath) + "..\\")
                  | None -> None
              ownerType.AddMemberDelayed (createDirectoryNode typeSet dir.Parent ".." withParent relative ctx)
          with
          | exn -> ()
  
  
negative.code:     let typedFileSystem = erasedType<obj> thisAssembly rootNamespace "FileSystem"
  
      typedFileSystem.DefineStaticParameters(
          parameters = 
              [ ProvidedStaticParameter("path", typeof<string>)
                ProvidedStaticParameter("relativeTo", typeof<string>, "")
                ProvidedStaticParameter("watch", typeof<bool>, false) ], 
          instantiationFunction = (fun typeName parameterValues ->
              match parameterValues with
              | [| :? string as path; :? string as relativePath; :? bool as watch |] -> 
                  let dir = new DirectoryInfo(path)
                  let relative = 
                      match relativePath with
  