Fixes massive performance issue when using eql?

Not sure if it's due to constructing the array and calling #hash on it
or what, but the previous implementation is terrible on performance

refs: #42, #32