typedef F<X> = void Function<Y extends X>();
F<X> toF<X>(X x) => throw '';
typedef Fcov<X> = X Function();
typedef Fcon<X> = Function(X);
typedef Finv<X> = X Function(X);
typedef FcovBound<X extends num> = X Function();
typedef FconBound<X extends num> = Function(X);
typedef FinvBound<X extends num> = X Function(X);

class A<X> {}

typedef FcovCyclicBound<X extends A<X>> = X Function();
typedef FconCyclicBound<X extends A<X>> = Function(X);
typedef FinvCyclicBound<X extends A<X>> = X Function(X);
typedef FcovCyclicCoBound<X extends Function(X)> = X Function();
typedef FconCyclicCoBound<X extends Function(X)> = Function(X);
typedef FinvCyclicCoBound<X extends Function(X)> = X Function(X);

class B<X> {}

void testTopLevel(
    Fcov source1,
    Fcon source2,
    Finv source3,
    FcovBound source4,
    FconBound source5,
    FinvBound source6,
    FcovCyclicBound source7,
    FconCyclicBound source8,
    FcovCyclicCoBound source10,
    FconCyclicCoBound source11,
    FinvCyclicCoBound source12) {}
void testNested(
    B<Fcov> source1,
    B<Fcon> source2,
    B<Finv> source3,
    B<FcovBound> source4,
    B<FconBound> source5,
    B<FinvBound> source6,
    B<FcovCyclicBound> source7,
    B<FconCyclicBound> source8,
    B<FcovCyclicCoBound> source10,
    B<FconCyclicCoBound> source11,
    B<FinvCyclicCoBound> source12) {}
main() {}
