anchor.diff:                      tt |> List.map (fun (s: string) -> s.Split(';', '|') |> List.ofArray)
               try
                   if options.DryRun then
  -                    options.Targets |> makeTargetLists |> List.iter (dryRun ctx options)
  +                    targetLists |> List.iter (dryRun ctx options)
                   else
                       try
  -                        options.Targets |> makeTargetLists |> List.iter (runTargets ctx options)
  +                        targetLists |> List.iter (List.map (makeTarget ctx) >> (runTargets ctx options))
                           logger.Log Message "\n\n\tBuild completed in %A\n" (System.DateTime.Now - start)
                       with
                           | exn ->
  
positive.code:         /// Gets dependencies for specific target in a human friendly form
          /// </summary>
          /// <param name="ctx"></param>
          let getPlainDeps getDepStates getExecTime ptgt =
  
              // strips the filelists to only 5 items
              let rec stripReasons = function
  
negative.code:                     true
                  <| target
  
              // let targets = targetNames |> List.map (makeTarget ctx)
              let getDurationDeps t =
                  let collectTargets = List.collect (function |Depends (t,_) -> [t] | _ -> [])
                  (getExecTime ctx t) / 1000<ms>, getDeps t |> collectTargets
              let progressSink = Progress.openProgress getDurationDeps options.Threads targets
              let stepCtx = {ctx with NeedRebuild = check_rebuild; Progress = progressSink}
  
  