tick :: Ant -> Grid -> IO Grid
tick ant world = R.computeP $ R.traverse world id (\_ sh@(Z :. a :. b) ->
  if ant == (a,b)
    then turn (world ! sh) 2 
    else world ! sh)
tick :: Ant -> Grid -> IO Grid
tick ant world = R.computeP $ R.traverse world id (\_ sh@(Z :. a :. b) ->
  if ant == (a,b)
    then turn (world ! sh) 2 
    else world ! sh)
tick ant world = R.computeP $ R.traverse world id (\_ sh@(Z :. a :. b) ->
  if ant == (a,b)
    then turn (world ! sh) 2 
    else world ! sh)