MethodVisitor mv = cw.visitMethod(Opcodes.ACC_PUBLIC
| Opcodes.ACC_STATIC, "cast", "(L" + ETUPLE_NAME + ";)L"
+ ETUPLE_NAME + n + ";", null, null);
mv.visitCode();
mv.visitVarInsn(Opcodes.ALOAD, 0);
mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, ETUPLE_NAME, "arity", "()I");
if (n <= 5) {
mv.visitInsn(Opcodes.ICONST_0 + n);
} else {