Code clean-up: I got rid of the uses of functions like
'Control.Monad.liftM', 'Control.Monad.liftM2', 'Control.Monad.liftM3'
and replaced them with the equivalent functions in the
"Control.Applicative" module.
Bug fix: forgot to dereference the index object of a subscript
expression. Subscripting now works as had intended.
Bug fix: I keep forgetting that 'Data.Array.IArray.Array' indices are
INCLUSIVE!!! So specifying bounds from (0,10) gives you an array with
eleven elements as space for index 10 is also included.