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

class A extends core::Object {
  synthetic constructor •() → self::A
    : super core::Object::•()
    ;
  method add(dynamic x) → dynamic
    return x;
}
static method main() → dynamic {
  self::A a = new self::A::•();
  function f(dynamic x) → dynamic
    return x;
  let final self::A #t1 = a in block {
    #t1.{self::A::add}(f){(dynamic) → dynamic}{dynamic}.call("WHAT");
  } =>#t1;
}
