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

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