legal :: Board -> Move -> Bool
legal b m = not $ inCheck (makeMoveSimplified m b) (b^.next)
legal :: Board -> Move -> Bool
legal b m = not $ inCheck (makeMoveSimplified m b) (b^.next)
legal b m = not $ inCheck (makeMoveSimplified m b) (b^.next)