store :: Storable a => a -> PtrIO ()
store x = do addr <- advance
             io (poke addr x)
store :: Storable a => a -> PtrIO ()
store x = do addr <- advance
             io (poke addr x)
store x = do addr <- advance
             io (poke addr x)