[GHC] #7923: Optimization for takeMVar/putMVar when MVar left empty