anchor.diff:    fetchImportStatus proxy importid resp.AsyncJobId;
     let temp = solution_zip_path + "/" + temporary_solution_name
     unzip temp;
  -  printfn "Parsing TEMP customizations";
  +  log.Verbose "Parsing TEMP customizations";
     let xml = XmlDocument ()
     xml.Load (temp + "/customizations.xml");
  -  printfn "Setting workflow states";
  +  log.Verbose "Setting workflow states";
     let workflows = select_nodes xml "/ImportExportXml/Workflows/Workflow"
     workflows
     |> Seq.iter (fun e ->
  
positive.code:       let prod_ent = prod_node.SelectSingleNode("/ImportExportXml/Entities/Entity[EntityInfo/entity/@Name='"+name+"']")
        if prod_ent = null then
          if output = Diff || output = Both then 
            printfn "Adding new entity: %s" name;
          let req = RetrieveEntityRequest ()
          req.EntityFilters <- EntityFilters.All;
          req.LogicalName <- name.ToLower();
  
negative.code:   let id = solution_component.Attributes.["objectid"] :?> Guid
    match typeString with
    // Remark, what does fake workflow mean?
      | Some "Workflow" when not (List.contains id workflows) -> log.Verbose " Skipping 'fake' workflow"
      | _ ->
        match typeString with
          | None -> log.Verbose "Adding thing (%i) to solution" type_
          | Some s -> log.Verbose "Adding %s to solution" s
        let req = AddSolutionComponentRequest ()
        req.ComponentType <- type_;
        req.ComponentId <- id;
  