FUNCTIONAL PEARL Solving the Snake Cube Puzzle in Haskell