// Note: this can cause the bad-type-inference problem // if a is of a subtype of the A in f and f is a lambda specified without a type static A pcallOr(IF0 f, A a) { if (f != null) pcall { ret f!; } ret a; }