     
     // MARK:- Convenience methods
     
-    public func forced() -> Result<T, E> {
+    public func forced() -> ResultType {
         return PureFutures.forced(self)
     }
     
-    public func forced(interval: NSTimeInterval) -> Result<T, E>? {
+    public func forced(interval: NSTimeInterval) -> ResultType? {
         return PureFutures.forced(self, interval)
     }
     

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

    
    // MARK:- FutureType methods
    
    public init(_ x: ResultType) {
        self.deferred = Deferred(x)
    }
    
