renderStep :: IORef (SimulationState StdGen)
           -> ViewPort
           -> Float
           -> SimTickOut
           -> IO SimTickOut
renderStep ssRef _ _ _ = do
  ss <- readIORef ssRef
  (ss', out) <- simulationTick ss
  writeIORef ssRef ss'
  
  return out
renderStep :: IORef (SimulationState StdGen)
           -> ViewPort
           -> Float
           -> SimTickOut
           -> IO SimTickOut
renderStep ssRef _ _ _ = do
  ss <- readIORef ssRef
  (ss', out) <- simulationTick ss
  writeIORef ssRef ss'
  
  return out
renderStep ssRef _ _ _ = do
  ss <- readIORef ssRef
  (ss', out) <- simulationTick ss
  writeIORef ssRef ss'
  
  return out