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

typedef F = (core::int) → core::Iterable<core::num>;
typedef G = (core::double) → core::List<core::int>;
static method generic<T extends core::Object = dynamic>((self::generic::T) → dynamic a, (self::generic::T) → dynamic b) → self::generic::T
  return null;
static method main() → dynamic {
  dynamic v = self::generic<dynamic>(((core::int) → core::Iterable<core::num> f) → dynamic => null, ((core::double) → core::List<core::int> g) → dynamic => null);
}
