title: Swift 3.0 Error: Escaping closures can only capture inout parameters explicitly by value
body: <p>I'm trying to update my project to Swift 3.0 but I have some difficulties.
  I'm getting next error: "Escaping closures can only capture inout parameters explicitly by value".</p>
  
  <p>The problem is inside this function:</p>
  
  <pre><code>fileprivate func collectAllAvailable(_ storage: inout [T], nextUrl: String, completion: @escaping CollectAllAvailableCompletion) {
      if let client = self.client {
          let _ : T? = client.collectionItems(nextUrl) {
  
              (resultCollection, error) -&gt; Void in
  
              guard error == nil else {
                  completion(nil, error)
                  return
              }
  
              guard let resultCollection = resultCollection, let results = resultCollection.results else {
                  completion(nil, NSError.unhandledError(ResultCollection.self))
                  return
              }
  
              storage += results // Error: Escaping closures can only capture inout parameters explicitly by value
  
              if let nextUrlItr = resultCollection.links?.url(self.nextResourse) {
  
                  self.collectAllAvailable(&amp;storage, nextUrl: nextUrlItr, completion: completion) 
                  // Error: Escaping closures can only capture inout parameters explicitly by value
  
              } else {
                  completion(storage, nil) 
                  // Error: Escaping closures can only capture inout parameters explicitly by value
              }
          }
      } else {
          completion(nil, NSError.unhandledError(ResultCollection.self))
      }
  }
  </code></pre>
  
  <p>Can someone help me to fix that?</p>