@override Task<B> flatMap<B>(Function1<A, Task<B>> f) => new Task(() => _run().then((a) => f(a).run()));