title: Cannot convert value of type '[T]' to expected argument type '[_]'
body: <p>Every time I try to compile this, I get the error:</p>
  
  <pre><code>Cannot convert value of type '[T]' to expected argument type '[_]'
  </code></pre>
  
  <p>I'm not really sure why this keeps happening, and I've tried to look up solutions but have found nothing that seemed helpful.
  Here's my code: </p>
  
  <pre><code>class FetchRequest &lt;T: NSManagedObject&gt;: NSFetchRequest&lt;NSFetchRequestResult&gt; {
          init(entity: NSEntityDescription) {
          super.init()
          self.entity = entity
      }
      required init?(coder aDecoder: NSCoder) {
          fatalError("init(coder:) has not been implemented")
      }
      typealias FetchResult = (success: Bool, objects: [T], error: NSError?)
      func fetch &lt;T&gt; (request: FetchRequest&lt;T&gt;,
                       context: NSManagedObjectContext) -&gt; FetchResult {
          do {
           let results = try context.fetch(request)
              return FetchResult(true, results as! [T], nil)
          } catch let error as NSError {
           return (false, [], error)
          }
      }
  }
  </code></pre>
  
  <p>EDIT:</p>
  
  <p>I get the error on this line:</p>
  
  <pre><code>return FetchResult(true, results as! [T], nil)
  </code></pre>