anchor.diff:      let baseDir = normalizePath baseDir
       let input = normalizePath input    
       let input = input.Replace(baseDir,"")
  -    let filePattern = Path.GetFileName(input)   
  -    tracefn "BaseDir: %s" baseDir 
  -    tracefn "input  : %s" input
  +    let filePattern = Path.GetFileName(input)
       input.Split([|'/';'\\'|], StringSplitOptions.RemoveEmptyEntries)
       |> Seq.map (function
                   | "**" -> Recursive
  
positive.code:         buildPaths subDirs t
      | Recursive :: [] ->
          let dirs = 
              Seq.collect (fun dir ->        tracefn "All subdirs and files %s" dir; Directory.EnumerateFileSystemEntries(dir, "*", SearchOption.AllDirectories)) acc
              |> Seq.toList
          buildPaths (acc @ dirs) []
      | Recursive :: t ->
          
          let dirs = 
              Seq.collect (fun dir ->       tracefn "All subdirs %s" dir; Directory.EnumerateDirectories(dir, "*", SearchOption.AllDirectories)) acc
              |> Seq.toList
          buildPaths (acc @ dirs) t
      | FilePattern(pattern) :: t ->
          tracefn "pattern %A"  acc
          Seq.collect (fun dir -> tracefn "All files %s in %s" pattern dir; Directory.EnumerateFiles(dir, pattern)) acc
          |> Seq.toList
           
  let private isDrive =
  
negative.code:     |> Seq.toList
      |> buildPaths [baseDir]
      |> List.map normalizeOutputPath
  
  /// Internal representation of a file set.
  type FileIncludes =
  