I was looking at Math.clz32, which is unique in that it returns fixnum. And the question occurred to me of why there is a fixnum type at all. As far as I can tell, the only other place fixnum is used is in numeric literals. So what's the purpose? Why not use signed and have one less type to worry about?