library test;
import self as self;
import "dart:async" as asy;
import "dart:math" as math;
import "dart:core" as core;

static method test() → dynamic {
  dynamic f = () → asy::Future<dynamic> async {
    if(math::Random::•().nextBool()) {
      return 1;
    }
    else {
      return 2.0;
    }
  };
  asy::Future<core::num> g = f.call();
  asy::Future<core::int> h = f.call();
}
static method main() → dynamic {}
