Repro: 12:05 < bnagy> % i = 129; [ i.class, (j=[i].pack('w_').unpack('w_').first).class, i.eql?( j ) ] 12:05 < multibot_> [Fixnum, Bignum, false] This causes things like Set to break. It's also inconsistent with MRI behaviour.