Hello! Shouldn't: if (TYPE(arg1) == T_FLOAT) be true when someone passes '42' (for example) and not '42.0'. I understand TYPE(arg1) != T_FIXNUM when someone passes 42.0, but I expect "42" to be a valid float argument. I have foo(double i); and I check the passed arguments. I expect the right ruby implementation to accept a foo(42) call. Regards, Elias