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};
}
