SpreadSheet implemented in Haskell with the StateT Monad.