<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def mr_dim_ind(self):
 """Return int, tuple of int, or None, representing MR indices. The return value represents the index of each multiple-response (MR) dimension in this cube. Return value is None if there are no MR dimensions, and int if there is one MR dimension, and a tuple of int when there are more than one. The index is the (zero-based) position of the MR dimensions in the _ApparentDimensions sequence returned by the :attr"`.dimensions` property. """

        # TODO: rename to `mr_dim_idxs` or better yet get rid of need for
        # this as it's really a cube internal characteristic.
        # TODO: Make this return a tuple in all cases, like (), (1,), or (0, 2).
        indices = tuple(
            idx
            for idx, d in enumerate(self.dimensions)
            if d.dimension_type == DT.MR_SUBVAR
        )
        if indices == ():
            return None
        if len(indices) == 1:
            return indices[0]
        return indices