Yea I'm treating ```self.args[0]``` as a number or a Symbol.

> You should use ```is_number``` property

Yes I should use ```is_number```. I'll change it.

> But why you restrict yourself only to numbers?

If it is not a number, how to check if the argument is in range or not? If I am not wrong, you are pointing towards a function or something which can evaluate to a number.