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

static method f() → dynamic {
  core::List<core::int*>* o;
  o.{core::Iterable::forEach}((core::int* i) → core::int* {
    return i.{core::num::+}(1){(core::num*) →* core::int*};
  }){((core::int*) →* void) →* void};
}
static method main() → dynamic {}
