Data types.
Flesh out functions.
Tests.
Prettify display, fix tests.
Moves, work in progress.
More fleshing out.
Peeker interface.
TH for Peeker.
Rename Peeker functions not to clash with Control.Monad.State.
Use Peeker for Labyrinth; implement successful move.
Fix successful move test.
Add Control.Monad.State utilities to Peeker.
Use Peeker's State functions to simplify movement processing.
Update the current player upon turns.
Helper for testing move results.
Player creation helper.
Throwing grenades.
Deduct grenades, test combined moves.
Make 'Next' only a valid option for movement, not for grenades/bullets.
Generalize getS and updS in Peeker for any MonadState.