I defer to SimonM but IIRC each stable name corresponds to an entry in the stable-name table; the index in the table is the “stable” thing in a stable name. So I bet that comparison compares these indices. If two stable names are pointer-equal, they presumably contain the same index into the table. But is the reverse true? That is, can we be sure that two pointer-distinct stable name objects contain different indices? Simon From: ghc-devs <ghc-devs-bounces@haskell.org> On Behalf Of David Feuer Sent: 19 August 2018 18:53 To: ghc-devs <ghc-devs@haskell.org> Subject: Stable name equality eqStableName# is not currently defined as pointer equality. Is there some reason for this? My understanding is that there is a one-to-one correspondence between stable name objects and active stable name table entries, so pointer equality should be sufficient. Am I missing something?