An iterable of each Piece associated to its Square.
Iterable<(Square, Piece)> get pieces sync* { for (final square in occupied.squares) { yield (square, pieceAt(square)!); } }