anchor.diff:              dir.Attributes <- dir.Attributes &&& (~~~FileAttributes.ReadOnly)  
   
   /// Sets all files in the directory readonly 
  -let rec SetDirReadOnly readOnly (dir:DirectoryInfo) =
  -    dir.GetDirectories() |> Seq.iter (fun dir ->
  -        SetDirReadOnly readOnly dir
  -        setDirectoryReadOnly readOnly dir)
  -    dir.GetFiles() |> Seq.iter (fun file -> file.IsReadOnly <- readOnly)    
  +let SetDirReadOnly readOnly (dir:DirectoryInfo) =
  +    recursively (setDirectoryReadOnly readOnly) (fun file -> file.IsReadOnly <- readOnly) dir
     
   /// Sets all files in the directory readonly 
   let SetReadOnly readOnly (files: string seq) =
  
positive.code: 
  /// Checks if all given files exists
  let allFilesExist files = Seq.forall File.Exists files
  
  /// Sets the directory readonly 
  let setDirectoryReadOnly readOnly (dir:DirectoryInfo) = 
  
negative.code:     srcFiles
        |> Seq.map (fun n -> 
              let newFile = toRelativePath n 
              let oldFile = findOldFileF newFile (lastReleaseDir @@ (newFile.TrimStart '.'))
              let fi = new FileInfo(oldFile)
              if not fi.Exists then logVerbosefn "LastRelease has no file like %s" fi.FullName
              newFile,oldFile)         
  