mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, self_type, "invoke", EUtil
.getSignature(arity, true));
mv.visitInsn(Opcodes.ARETURN);
mv.visitMaxs(arity + 2, arity + 2);
mv.visitEnd();
mv = cw.visitMethod(Opcodes.ACC_PROTECTED, "<init>", "()V", null, null);
mv.visitVarInsn(Opcodes.ALOAD, 0);
mv.visitMethodInsn(Opcodes.INVOKESPECIAL, EFUN_TYPE.getInternalName(),