------------ #lib::C:: ------------
%this = _Parameter #0 [_T (#lib::C<dynamic>)+]
t1 = _Call direct [dart.core::Object::] (%this)
RESULT: _T {}?
------------ #lib::C::foo ------------
%this = _Parameter #0 [_T (#lib::C<dynamic>)+]
t1 = _Extract (%this[#lib::C/0])
t2 = _CreateConcreteType (#lib::D @ (t1))
t3 = _Call direct [#lib::D::] (t2)
RESULT: t2
------------ #lib::C::id1 ------------
%this = _Parameter #0 [_T (#lib::C<dynamic>)+]
%x = _Parameter #1
t2 = _Extract (%this[#lib::C/0])
t3 = _TypeCheck (%x against t2) (for parameter x)
RESULT: t3
------------ #lib::C::id2 ------------
%this = _Parameter #0 [_T (#lib::C<dynamic>)+]
%x = _Parameter #1
t2 = _Extract (%this[#lib::C/0])
t3 = _TypeCheck (%x against t2) (for parameter x)
RESULT: t3
------------ #lib::D:: ------------
%this = _Parameter #0 [_T (#lib::D<dynamic>)+]
t1 = _Call direct [dart.core::Object::] (%this)
RESULT: _T {}?
------------ #lib::E:: ------------
%this = _Parameter #0 [_T (#lib::E<dynamic, dynamic>)+]
t1 = _Call direct [#lib::C::] (%this)
RESULT: _T {}?
------------ #lib::E::foo ------------
%this = _Parameter #0 [_T (#lib::E<dynamic, dynamic>)+]
t1* = _Call direct [#lib::C::foo] (%this)
RESULT: t1
------------ #lib::E::bar ------------
%this = _Parameter #0 [_T (#lib::E<dynamic, dynamic>)+]
t1 = _Extract (%this[#lib::E/0])
t2 = _CreateConcreteType (#lib::D @ (t1))
t3 = _Call direct [#lib::D::] (t2)
RESULT: t2
------------ #lib::E::baz ------------
%this = _Parameter #0 [_T (#lib::E<dynamic, dynamic>)+]
t1 = _Extract (%this[#lib::E/1])
t2 = _CreateConcreteType (#lib::D @ (t1))
t3 = _Call direct [#lib::D::] (t2)
RESULT: t2
------------ #lib::X:: ------------
%this = _Parameter #0 [_T (#lib::X)+]
t1 = _Call direct [dart.core::Object::] (%this)
RESULT: _T {}?
------------ #lib::Y:: ------------
%this = _Parameter #0 [_T (#lib::Y)+]
t1 = _Call direct [#lib::X::] (%this)
RESULT: _T {}?
------------ #lib::Z:: ------------
%this = _Parameter #0 [_T (#lib::Z)+]
t1 = _Call direct [#lib::X::] (%this)
RESULT: _T {}?
------------ #lib::I:: ------------
%this = _Parameter #0 [_T (#lib::I<dynamic>)+]
t1 = _Call direct [dart.core::Object::] (%this)
RESULT: _T {}?
------------ #lib::J:: ------------
%this = _Parameter #0 [_T (#lib::J)+]
t1 = _Call direct [#lib::I::] (%this)
RESULT: _T {}?
------------ #lib::K:: ------------
%this = _Parameter #0 [_T (#lib::K<dynamic>)+]
t1 = _Call direct [dart.core::Object::] (%this)
RESULT: _T {}?
------------ #lib::C2:: ------------
%this = _Parameter #0 [_T (#lib::C2<dynamic>)+]
t1 = _Call direct [dart.core::Object::] (%this)
RESULT: _T {}?
------------ #lib::C2::id3 ------------
%this = _Parameter #0 [_T (#lib::C2<dynamic>)+]
%x = _Parameter #1
t2 = _Extract (%this[#lib::C2/0])
t3 = _CreateRuntimeType (dart.core::Comparable @ (t2))
t4 = _TypeCheck (%x against t3) (for parameter x)
RESULT: t4
------------ #lib::C2::id4 ------------
%this = _Parameter #0 [_T (#lib::C2<dynamic>)+]
%x = _Parameter #1
t2 = _Extract (%this[#lib::C2/0])
t3 = _CreateRuntimeType (#lib::I @ (t2))
t4 = _CreateRuntimeType (#lib::K @ (t3))
t5 = _TypeCheck (%x against t4) (for parameter x)
RESULT: t5
------------ #lib::main ------------
t0 = _Call direct [#lib::C::] (_T (#lib::C<dart.core::int>))
t1* = _Call [#lib::C::foo] (_T (#lib::C<dart.core::int>))
t2 = _Call direct [#lib::E::] (_T (#lib::E<dart.core::int, dart.core::String>))
t3* = _Call [#lib::E::foo] (_T (#lib::E<dart.core::int, dart.core::String>))
t4 = _Call direct [#lib::E::] (_T (#lib::E<dart.core::int, dart.core::String>))
t5* = _Call [#lib::E::bar] (_T (#lib::E<dart.core::int, dart.core::String>))
t6 = _Call direct [#lib::E::] (_T (#lib::E<dart.core::int, dart.core::String>))
t7* = _Call [#lib::E::baz] (_T (#lib::E<dart.core::int, dart.core::String>))
t8 = _Call direct [#lib::C::] (_T (#lib::C<#lib::Y>))
t9 = _Call direct [#lib::Y::] (_T (#lib::Y))
t10 = _Call [#lib::C::id1] (_T (#lib::C<#lib::Y>), _T (#lib::Y))
t11 = _Call direct [#lib::Z::] (_T (#lib::Z))
t12 = _Call [#lib::C::id2] (_T (#lib::C<#lib::Y>), _T (#lib::Z))
t13 = _Call direct [#lib::C2::] (_T (#lib::C2<dart.core::num>))
t14 = _Call [#lib::C2::id3] (_T (#lib::C2<dart.core::num>), _T (dart.core::double)+)
t15 = _Call direct [#lib::K::] (_T (#lib::K<#lib::J>))
t16 = _Call [#lib::C2::id4] (_T (#lib::C2<dart.core::num>), _T (#lib::K<#lib::J>))
used = _Join [dynamic] (_T {}?, t1, t3, t5, t7)
RESULT: used
