--withAllocaZerodPrim

withRWStorable:: (Storable a, PrimMonad m)=> a -> (Ptr a -> m b) -> m a
withRWStorable val fun = do
    valVect <- M.replicate 1 val
    _ <- unsafeWithPrim valVect fun
    M.unsafeRead valVect 0

withRWStorable:: (Storable a, PrimMonad m)=> a -> (Ptr a -> m b) -> m a
withRWStorable val fun = do
    valVect <- M.replicate 1 val
    _ <- unsafeWithPrim valVect fun
    M.unsafeRead valVect 0

withRWStorable val fun = do
    valVect <- M.replicate 1 val
    _ <- unsafeWithPrim valVect fun
    M.unsafeRead valVect 0
