static IF1 mainFunctionToIF1Opt(O f) { if (f cast S) ret (IF1) a -> callMC(f, a); ret toF1(f); }