code: def remove_piece_at(self, square: Square) -> Optional[Piece]:
          
          color = bool(self.occupied_co[WHITE] & BB_SQUARES[square])
          piece_type = self._remove_piece_at(square)
          return Piece(piece_type, color) if piece_type else None
docs: Removes the piece from the given square. Returns the
          :class:`~chess.Piece` or ``None`` if the square was already empty.