|  | library; | 
|  | 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 <A extends core::Object? = dynamic>(core::int) → <B extends core::Object? = dynamic>(A%, core::String, B%) → core::int); | 
|  | } |