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 {
  (core::num) → core::List<core::int> v = self::generic<(core::num) → core::List<core::int>>(((core::int) → core::Iterable<core::num> f) → core::Null => null, ((core::double) → core::List<core::int> g) → core::Null => null);
}
