anchor.diff:  
           destDirectory
   
  -    let copyDirectoryToDataDirectoryInSafeWay(directory: String) =
  +    let copyDirectoryToDataDirectoryInSafeWay(directory: String, callback: String -> unit) =
           let srcDirectory = 
               if directory.EndsWith(Path.DirectorySeparatorChar.ToString()) then directory
               else directory + Path.DirectorySeparatorChar.ToString()
  
positive.code:             
              if not <| File.Exists(destFilename) then
                  File.Copy(filename, destFilename)
  
      let updateKnowledgeBase(configurationFilename: String, callback: String -> unit) =
          if _lastKB.IsNone then
  
negative.code:             use webClient = new WebClient()
              webClient.DownloadFile(_lastKBUpdateUrl.Value, tmpZipFilename)
              let unzippedDirectory = unzip(tmpZipFilename)
              copyDirectoryToDataDirectoryInSafeWay(unzippedDirectory, callback)
              Configuration.saveProperty("KB", _lastKB.Value)
              Configuration.saveConfiguration(configurationFilename)