store :: Memory s -> Address -> MemoryValue -> ST s ()
store mem Pc            (MemoryValue16 v) = writeSTRef (pc mem) v
store :: Memory s -> Address -> MemoryValue -> ST s ()
store mem Pc            (MemoryValue16 v) = writeSTRef (pc mem) v
store mem Pc            (MemoryValue16 v) = writeSTRef (pc mem) v