Copies the variant with a single piece added/updated.
Variant withPiece(String key, PieceType pieceType) => withPieces({key: pieceType});