class Foo<T> {
  final Future<dynamic> Function() quux;
  T t;
  Foo(this.quux, this.t);
  Future<T> call() => quux().then<T>((_) => t);
}

class Bar {
  Foo<Baz> qux = throw '';
  Future<void> quuz() =>
      qux().then((baz) => corge(baz)).then((grault) => garply(grault));
  Grault corge(Baz baz) => throw '';
  void garply(Grault grault) {}
}

class Baz {}

class Grault {}

main() {}
