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

static method main() → dynamic {
  core::int* c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch};
  for (core::int* i = 0; i.{core::num::<}(100); i = i.{core::num::+}(1)) {
    core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1) in #t1);
  }
  for (core::int* i = 0; i.{core::num::<}(100); c.{core::num::<}(42) ?{core::int*} throw "fisk" : let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1) in #t3) {
    core::print(let final core::int* #t5 = i in let final core::int* #t6 = i = #t5.{core::num::+}(1) in #t5);
  }
}
