An UCI chess engine in Haskell