     })
 }
 
-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 flatMap<U>(f: T -> Result<U>) -> Future<U> {
        return self.flatMap(context: executionContextForCurrentContext(), f)
    }
    
    public func flatMap<U>(context c: ExecutionContext, f: T -> Result<U>) -> Future<U> {

    }
    
    public func onFailure(callback: FailureCallback) -> Future<T> {
        return self.onFailure(context: executionContextForCurrentContext(), callback: callback)
    }
    
    public func onFailure(context c: ExecutionContext, callback: FailureCallback) -> Future<T> {
