cabal init
Main stub
Add the Hero.Map module.

The Hero.Map module defines the data types and functions for dealing
with maps, which are two-dimensional arrays of tiles. Each tile is one
of Floor, Wall, or Stairs Down. Tiles are either walkable or not and
have a character representation.

We also alias the Point type to be a 2-tuple of Integers in (Y, X)
format. This format is chosen so that Point can be an index into 2D
arrays (i.e., Point is an instance of the Ix class) and so that they can
be used for screen coordinates. Integers are chosen over Ints so that
type conversions do not have to be performed when dealing with NCurses.