anchor.diff:  open System.IO
   open Buckaroo.PackageLocation
   open Buckaroo.BuckConfig
  -open Buckaroo.Result
  +open Buckaroo.Option
   
   let private fetchManifestFromLock (lock : Lock) (sourceExplorer : ISourceExplorer) (package : PackageIdentifier) = async {
     let location =  
  
positive.code:   let receipt = 
      "[receipt]\n" + 
      "path = \"" + installPath + "\"\n" + 
      match location with 
      | Git git -> 
        "type = \"git\"\n" +
        "url = \"" + git.Url + "\"\n" + 
        "revision = \"" + git.Revision + "\"\n"
      | Http http -> 
        "type = \"http\"\n" +
        "url = \"" + http.Url + "\"\n" + 
        "sha256 = \"" + (http.Sha256) + "\"\n"
      | GitHub gitHub -> 
        "type = \"github\"\n" +
        "owner = \""+ gitHub.Package.Owner + "\"\n" +
        "project = \"" + gitHub.Package.Project + "\"\n" +
        "revision = \"" + gitHub.Revision + "\"\n"
    
    let receiptPath = getReceiptPath installPath
    do! Files.writeFile receiptPath receipt
  
negative.code: let installPackageSources (context : Tasks.TaskContext) (installPath : string) (location : PackageLocation) = async {
    let downloadManager = context.DownloadManager
    let gitManager = context.GitManager
    let! isSame = compareReceipt installPath location
    if isSame = false
    then
      System.Console.WriteLine ("installing: " + installPath)
      match location with 
  