Generic type 'Result' specialized with too few type parameters (got 1, but expected 2) : <p>I just wanted to include Result in my project and am running across a few issues. It seems to me as if Alamofire (which is already a dependency) defines its own Result type throwing problems when trying to write functions that return results.</p>

<p>For example Xcode (10.2 beta 4) tells me that I can't write Result-> Response = (_ result: Result) -> Void because Generic type 'Result' specialized with too few type parameters (got 1, but expected 2).</p>

<p>Both are linked as frameworks installed via Cocoapods in a "Swift 5.0 beta" project.</p>

<p>I'm guessing issues like this shouldn't actually be occurring, but I'm doing something wrong here. Any pointers would be great, thank you!</p>

<p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-html lang-html prettyprint-override"><code>import Foundation
import Alamofire


typealias Response&lt;T&gt; = (_ result: Result&lt;T&gt;) -&gt; Void //error here


class APIClient {

    private static let baseUrl: URL = URL(string: "https://api.flickr.com/services/rest/")!
    private static let key: String = "8e15e775f3c4e465131008d1a8bcd616"

    private static let parameters: Parameters = [
        "api_key": key,
        "format": "json",
        "nojsoncallback": 1
    ]

    static let shared: APIClient = APIClient()

    let imageCache = NSCache&lt;NSString, UIImage&gt;()

    @discardableResult
    private static func request&lt;T: Decodable&gt;(path: String? = nil,
                                              method: HTTPMethod,
                                              parameters: Parameters?,
                                              decoder: JSONDecoder = JSONDecoder(),
                                              completion: @escaping (Result&lt;T&gt;) -&gt; Void) -&gt; DataRequest {
        let parameters = parameters?.merging(APIClient.parameters, uniquingKeysWith: { (a, _) in a })
        return AF.request(try! encode(path: path, method: method, parameters: parameters))
            .responseDecodable (decoder: decoder) { (response: DataResponse&lt;T&gt;) in completion(response.result) }
    }</code></pre>
</div>
</div>
</p>
