Chess Engine in Haskell