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

static method main() → dynamic {
  () →* core::Iterable<core::Null*>* f = () → core::Iterable<core::Null*>* sync* {
    yield null;
  };
  core::Iterable<dynamic>* y = f.call();
  core::Iterable<core::String*>* z = f.call();
  core::String* s = f.call().{core::Iterable::first};
}
