On Wed, Aug 20, 2014 at 10:23 AM, Erik Hesselink <hesselink@gmail.com> wrote:
As I understood, the question was if GHC would first compare pointers,
and only call the Eq instance if the pointers are not equal. I guess
this would be safe, but I don't think GHC does such a thing.

I think the reason it isn't done is that it's not always an optimization. We do it manually in e.g. bytestring.