WHY parent.collection.eql?(parent.collection) => false ????

Do you know what eql? compares? Shoudn't you be using == instead?