library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

typedef C<contravariant A extends core::Object? = dynamic, contravariant K extends core::Object? = dynamic> = <B extends core::Object? = dynamic>(A%, K%, B%) → core::int;
typedef D<contravariant K extends core::Object? = dynamic> = <A extends core::Object? = dynamic>(core::int) → <B extends core::Object? = dynamic>(A%, K%, B%) → core::int;
static method producer<K extends core::Object? = dynamic>() → dynamic {
  return <A extends core::Object? = dynamic>(core::int v1) → <B extends core::Object? = dynamic>(A%, self::producer::K%, B%) → core::int {
    return <B extends core::Object? = dynamic>(A% v2, self::producer::K% v3, B% v4) → core::int => 0;
  };
}
static method main() → dynamic {
  assert(self::producer<core::String>() is{ForNonNullableByDefault} <A extends core::Object? = dynamic>(core::int) → <B extends core::Object? = dynamic>(A%, core::String, B%) → core::int);
}
