I'm learning Haskell by implementing a 2048 solver