static O pcallF(O f, O... args) { ret pcallFunction(f, args); } ifclass F0 static A pcallF(F0 f) null on exception { ret f?!; } endif ifclass F1 static B pcallF(F1 f, A a) null on exception { ret f?.get(a); } endif ifclass VF1 static void pcallF(VF1 f, A a) { pcall { f?.get(a); } } endif static B pcallF(IF1 f, A a) null on exception { ret f?.get(a); }