def setitem(self, indexer, value):
if isinstance(indexer, tuple):<EOL><INDENT>indexer = indexer[<NUM_LIT:0>]<EOL><DEDENT>check_setitem_lengths(indexer, value, self.values)<EOL>self.values[indexer] = value<EOL>return self<EOL>
Set the value inplace, returning a same-typed block.

        This differs from Block.setitem by not allowing setitem to change
        the dtype of the Block.

        Parameters
        ----------
        indexer : tuple, list-like, array-like, slice
            The subset of self.values to set
        value : object
            The value being set

        Returns
        -------
        Block

        Notes
        -----
        `indexer` is a direct slice/positional indexer. `value` must
        be a compatible shape.