Make 'Next' only a valid option for movement, not for grenades/bullets.
Generalize getS and updS in Peeker for any MonadState.
Warning about naming clash with Control.Monad.State.
Peeker: support alternative constructors.
Picking up bullets and grenades.
Pick up treasures.