On Tue, Jul 31, 2012 at 7:37 AM, Bertram Felgenhauer <bertram.felgenhauer@googlemail.com> wrote:
Note that MVar# itself cannot be unpacked -- the StgMVar record will
always be a separate heap object.

One could imagine a couple of techniques to unpack the MVar# itself,  and was curious if GHC might employ one of them.

So, really,  unpacking the MVar does not eliminate a layer of indirection,  it just eliminates the need to check a pointer tag (and possibly execute a thunk or follow some redirects if you don't have a pointer to an MVar#).    I think this is what I was ultimately after.

Best,
Leon