void processGameBoard(const GameBoard& board) { const std::unique_ptr<GamePiece>& pawn = board.at(0, 0); // Doesn't compile //board.at(1, 2) = std::make_unique<ChessPiece>(); }