Equal bignums don compare as equal! What gives?
Ah, Grasshopper, I see you are using (eq x y). The Bodhisattva CLTL2 warned of the illusion that equal numbers would be `eq’! Meditate on the deeper truths of `eql’, in which numbers of the same type which have equal values compare equal, and `=’, which does any necessary type coercions before comparing for equality. Yeah, yeah, it has always worked for integer types, because fixnums and characters have an immediate representation. Sorry about that; arbitrary precision obviously requires consing new objects because the objects are “large” and of variable size, and the definition of `eq’ does not permit different objects to compare as equal.