verschiedene Varianten für das Laufen einer Ameise:
Drehung vor dem Laufen würfeln (separate Transaktionen)
walk :: World -> Ant -> IO ()
walk w ant = do
turn <- atomically
$ randomRT ( generator w ) (-1, 1)
atomically $ do
rotate turn ant
forward w ant
count ant
Drehung innerhalb der Lauf-Transaktion würfeln
welches ist eine passende Ersatz-Transaktion,
falls Commit für Laufen fehlschlägt?