That said, I'm not sure that check is the best idea.  This doesn't allow, for example, a comparison between a BigDecimal and a Fixnum (so `45.to_d` won't ever be equal to `45`).  What was the reason for that class comparison in the first place?