I've opened #13182 to explore one possible approach to dataToTag# that strikes me as likely to be simpler and to have fewer potential gotchas. But there could be critical points I'm missing about why we do it as we do now.
-------- Original message --------
From: Simon Peyton Jones <simonpj@microsoft.com>
Date: 1/23/17 4:47 PM (GMT-05:00)
To: David Feuer <david@well-typed.com>
Cc: ghc-devs@haskell.org
Subject: RE: Floating lazy primops
We should have this conversation on a ticket, perhaps #13027.