     
     // MARK:- With execution context
     
-    public func forced(ec: ExecutionContextType) -> Result<T, E> {
+    public func forced(ec: ExecutionContextType) -> ResultType {
         return PureFutures.forced(ec, self)
     }
     
-    public func forced(ec: ExecutionContextType, interval: NSTimeInterval) -> Result<T, E>? {
+    public func forced(ec: ExecutionContextType, interval: NSTimeInterval) -> ResultType? {
         return PureFutures.forced(ec, self, interval)
     }
     

    
    // MARK:- FutureType methods
    
    public init(_ x: Result<T, E>) {
        self.deferred = Deferred(x)
    }
    

    
    // MARK:- Type declarations
    
    public typealias ResultType = Result<T, E>
    
    public typealias CompleteCallback = ResultType -> Void
    public typealias SuccessCallback = T -> Void
    public typealias ErrorCallback = E -> Void
    
    // MARK:- Private properties
    
    private let deferred = Deferred<ResultType>()
    
    // MARK:- Public properties
    
    public internal(set) var value: ResultType? {
        set {
            deferred.value = newValue
        }
