library;
import self as self;
import "dart:core" as core;

static method main() → dynamic {
  core::print((#C1) is () →* dynamic);
  core::print((<T extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType});
  core::print((<T extends core::num* = core::num*>(T* x) → T* => x).{core::Object::runtimeType});
  core::print((<T extends core::Comparable<T>* = core::Comparable<dynamic>*>(T* x) → T* => x).{core::Object::runtimeType});
  core::print((<T extends core::Comparable<S>* = core::Comparable<dynamic>*, S extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType});
  core::print((<T extends (T) →* dynamic = (core::Null*) →* dynamic>(T* x) → T* => x).{core::Object::runtimeType});
  core::print((<T extends core::List<core::List<T>*>* = core::List<core::List<dynamic>*>*>(T* x) → T* => x).{core::Object::runtimeType});
}

constants  {
  #C1 = tearoff self::main
}
