Any how, this code will fail for cases that self is a Number, unless I'm missing something.