library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;

static method method(core::Iterable<core::int> iterable) → dynamic {
  for (core::int i in iterable) {
    core::print(i);
  }
}
static method asyncMethod(asy::Stream<core::int> stream) → dynamic async /* futureValueType= dynamic */ {
  await for (core::int i in stream) {
    core::print(i);
  }
}
