--------------------------------------------------------------------------------
-- | A register, either virtual or real
data Reg
- = RegVirtual {-# UNPACK #-} !VirtualReg
- | RegReal {-# UNPACK #-} !RealReg
+ = RegVirtual !VirtualReg
+ | RegReal !RealReg
deriving (Eq, Ord)
regSingle :: RegNo -> Reg