get rid of unnecessary newIORef