Implement hashing. This uses incrementally generated zobrist keys, and will either prune nodes or return a saved best move for improving move ordering.
ugh
Generate position keys based on the piece ID, rather than type.
This has some downsides but it also means I don't get unique bugs.
"Vanilla" quiescence search. This greatly slows down the program, especially in the middle and end game. Some pruning will have to be done.