A Haskell chess engine