Use Byte instead of Int for file and rank. Cache piece and move instances. TerminalPrinter prints the last move.