     })
 }
 
-public func future<T>(task: @autoclosure () -> T) -> Future<T> {
-    return future(context: Queue.global.context, task)
-}
-
-public func future<T>(context c: ExecutionContext, task: @autoclosure () -> T) -> Future<T> {
-    return future(context: c, { () -> Result<T> in
-        return Result<T>(task())
-    })
-}
-
 public func future<T>(task: () -> Result<T>) -> Future<T> {
     return future(context: Queue.global.context, task)
 }

    }

    public func map<U>(f: (T) -> U) -> Future<U> {
        return self.map(context: executionContextForCurrentContext(), f)
    }

    public func map<U>(context c: ExecutionContext, f: (T) -> U) -> Future<U> {

    }
    
    public func recover(task: (NSError) -> T) -> Future<T> {
        return self.recover(context: executionContextForCurrentContext(), task: task)
    }
    
    public func recover(context c: ExecutionContext, task: (NSError) -> T) -> Future<T> {
