anchor.diff:                      | true -> ()
                   ]
               loop xs
  -    
  +
           for chunk in split parameters.DegreeOfParallelism packages do
  -            let tasks = 
  +            let tasks =
                   chunk
                   |> Seq.toArray
                   |> Array.map (fun package -> async {
  -                        let pushResult = 
  -                            ExecProcess (fun info -> 
  +                        let pushResult =
  +                            ExecProcess (fun info ->
                                   info.FileName <- parameters.ToolPath
                                   info.Arguments <- sprintf "push %s%s%s file %s" url endpoint key (toParam package)) parameters.TimeOut
                           if pushResult <> 0 then failwithf "Error during pushing %s." package })
  
positive.code: 
  /// Creates a new NuGet package by using Paket pack on all paket.template files in the working directory.
  /// ## Parameters
  /// 
  ///  - `setParams` - Function used to manipulate the default parameters.
  let Pack setParams =
      let parameters : PaketPackParams = PaketPackDefaults() |> setParams
      traceStartTask "PaketPack" parameters.WorkingDir
  
      let xmlEncode (notEncodedText : string) = 
          if String.IsNullOrWhiteSpace notEncodedText then ""
          else XText(notEncodedText).ToString().Replace("ß", "&szlig;")
  
      let version = if String.IsNullOrWhiteSpace parameters.Version then "" else " version " + toParam parameters.Version
      let releaseNotes = if String.IsNullOrWhiteSpace parameters.ReleaseNotes then "" else " releaseNotes " + toParam (xmlEncode parameters.ReleaseNotes)
      let buildConfig = if String.IsNullOrWhiteSpace parameters.BuildConfig then "" else " buildconfig " + toParam parameters.BuildConfig
      let templateFile = if String.IsNullOrWhiteSpace parameters.TemplateFile then "" else " templatefile " + toParam parameters.TemplateFile
      let lockDependencies = if parameters.LockDependencies then " lock-dependencies" else ""
      let excludedTemplates = parameters.ExcludedTemplates |> Seq.map (fun t -> " exclude " + t) |> String.concat " "
      let specificVersions = parameters.SpecificVersions |> Seq.map (fun (id,v) -> sprintf " specific-version %s %s" id v) |> String.concat " "
  
      let packResult = 
          let cmdArgs = sprintf "%s%s%s%s%s%s%s" version specificVersions releaseNotes buildConfig templateFile lockDependencies excludedTemplates
          ExecProcess 
              (fun info -> 
                  info.FileName <- parameters.ToolPath
                  info.WorkingDirectory <- parameters.WorkingDir
                  info.Arguments <- sprintf "pack output \"%s\" %s" parameters.OutputPath cmdArgs) parameters.TimeOut
      
      if packResult <> 0 then failwithf "Error during packing %s." parameters.WorkingDir
      traceEndTask "PaketPack" parameters.WorkingDir
  
  /// Pushes all NuGet packages in the working dir to the server by using Paket push.
  /// ## Parameters
  /// 
  ///  - `setParams` - Function used to manipulate the default parameters.
  let Push setParams = 
      let parameters : PaketPushParams = PaketPushDefaults() |> setParams
  
      let packages = !! (parameters.WorkingDir @@ "/**/*.nupkg") |> Seq.toList    
      let url = if String.IsNullOrWhiteSpace parameters.PublishUrl then "" else " url " + toParam parameters.PublishUrl
      let endpoint = if String.IsNullOrWhiteSpace parameters.EndPoint then "" else " endpoint " + toParam parameters.EndPoint
      let key = if String.IsNullOrWhiteSpace parameters.ApiKey then "" else " apikey " + toParam parameters.ApiKey
  
negative.code: open System.Xml.Linq
  
  /// Paket pack parameter type
  type PaketPackParams =
      { ToolPath : string
        TimeOut : TimeSpan
        Version : string
  