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

static method strings() → core::List<core::String*>* {
  core::Iterable<core::String*>* stuff = <dynamic>[].{core::Iterable::expand}<core::String*>((dynamic i) → core::List<core::String*>* {
    return <core::String*>[];
  }){((dynamic) →* core::Iterable<core::String*>*) →* core::Iterable<core::String*>*};
  return stuff.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
}
static method main() → dynamic {
  self::strings();
}
