anchor.diff:      diff dev_proxy temporary_solution_name dev_sol prod_sol Diff;
       // Export [partial solution] from DEV
       printfn "Exporting solution '%s' from %s" temporary_solution_name dev.name;
  -    let temp_sol = download dev_proxy (file_location + "/") temporary_solution_name 15
  +    let temp_sol = download dev (file_location + "/") temporary_solution_name 15
       // Delete [partial solution] on DEV
       printfn "Deleting solution '%s'" temporary_solution_name;
       dev_proxy.Delete("solution", id);
  
positive.code:       let proxy = env.connect().GetProxy()
        Directory.CreateDirectory(file_location + "/" + env.name) |> ignore;
        printfn "Exporting solution '%s' from %s" complete_solution_name env.name;
        let sol = download_with_retry proxy (file_location + "/" + env.name + "/") complete_solution_name 15 4
        unzip sol;
        (proxy, sol))
      |> function [| dev_sol; prod_sol |] -> (dev_sol, prod_sol) | _ -> failwith "Impossible"
  
negative.code:   |> Seq.head
    |> fun a -> a.Id
  
  let download (env: DG.Daxif.Environment) file_location sol_name minutes =
    let usr, pwd, domain = env.getCreds()
    let ac = CrmAuth.getCredentials env.apToUse usr pwd domain
    let ac' = CrmAuth.getCredentials env.apToUse usr pwd domain
  
    printf "Exporting extended solution %A" (file_location + sol_name)
    SolutionHelper.exportWithExtendedSolution' env.url ac ac' sol_name file_location false (DG.Daxif.ConsoleLogger DG.Daxif.LogLevel.Verbose)
    file_location + sol_name
    (*
    (proxy :?> OrganizationServiceProxy).Timeout <- new TimeSpan(0, minutes, 0);
    let req = ExportSolutionRequest ()
    req.Managed <- false;
  