ifclass F0 static A callFInRealMC(O realm, F0 f) { ret f == null ? null : f.get(); } endif ifclass F1 static B callFInRealMC(O realm, F1 f, A a) { ret f == null ? null : f.get(a); } endif ifclass F2 static C callFInRealMC(O realm, F2 f, A a, B b) { ret f == null ? null : f.get(a, b); } endif ifclass VF1 static void callFInRealMC(O realm, VF1 f, A a) { if (f != null) f.get(a); } endif static O callFInRealMC(O realm, O f, O... args) { if (f instanceof S) ret call(getMainClass(realm), (S) f, args); ret callF(f, args); }