     /// If the tag exists, but there's not a correspoding GitHub Release, this method will return a
     /// `.DoesNotExist` error. This is indistinguishable from a nonexistent tag.
     public func release(forTag tag: String, in repository: Repository) -> SignalProducer<(Response, Release), Error> {
-        return fetchOne(repository.release(forTag: tag))
+        return execute(repository.release(forTag: tag))
     }
     
     /// Downloads the indicated release asset to a temporary file, returning the URL to the file on

    }
    
    /// Fetch a list of objects from the API.
    internal func fetchMany
        <Resource: ResourceType>
        (_ request: Request<[Resource]>, page: UInt?, pageSize: UInt?) -> SignalProducer<(Response, [Resource]), Error> where Resource.DecodedType == Resource
    {
        let nextPage = (page ?? 1) + 1
        return fetch(request, page: page, pageSize: pageSize)
            .attemptMap { response, JSON in
                return decode(JSON)
                    .map { resource in
                        (response, resource)
                    }
                    .mapError(Error.jsonDecodingError)
            }
            .flatMap(.concat) { response, JSON -> SignalProducer<(Response, [Resource]), Error> in
                return SignalProducer(value: (response, JSON))
                    .concat(response.links["next"] == nil ? SignalProducer.empty : self.fetchMany(request, page: nextPage, pageSize: pageSize))
            }
    }

    internal func send
        <Resource: ResourceType>
        (_ request: Request<Resource>) -> SignalProducer<(Response, Resource), Error> where Resource.DecodedType == Resource
    {
        let urlRequest = URLRequest.create(URL(server, request), request.body, request.method, credentials)

        return fetch(urlRequest)
            .attemptMap { response, JSON in
                return decode(JSON)
                    .map { resource in
                        (response, resource)
                    }
                    .mapError(Error.jsonDecodingError)
        }
    }
}


    ///
    /// https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository
    public func releases(in repository: Repository, page: UInt = 1, perPage: UInt = 30) -> SignalProducer<(Response, [Release]), Error> {
        return execute(repository.releases, page: page, pageSize: perPage)
    }
    
    /// Fetch the release corresponding to the given tag in the given repository.
