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 Foo<T> {
  Foo(this.quux, this.t);
  Future<T> call() => quux().then<T>((_) => t);
  T t;
  final Future<dynamic> Function() quux;
}

class Grault {}

main() {}
