Haskell library for evaluating whether chess moves are allowed on a given position