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

typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
class B extends core::Object {
  synthetic constructor •() → self::B*
    : super core::Object::•()
    ;
  method foo((dynamic) →* dynamic a) → dynamic
    return null;
  method bar() → (dynamic) →* dynamic
    return null;
}
static method main() → dynamic {}
