 public extension Future {
 
     public func flatMap<U>(f: T -> Future<U>) -> Future<U> {
-        return self.flatMap(context: executionContextForCurrentContext(), f)
+        return self.flatMap(context: executionContextForCurrentContext(), f: f)
     }
 
     public func flatMap<U>(context c: ExecutionContext, f: T -> Future<U>) -> Future<U> {

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

    })
}

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