docs: def squeeze_axes(shape, axes, skip=None):
      """Return shape and axes with single-dimensional entries removed.
  
      Remove unused dimensions unless their axes are listed in 'skip'.
  
      >>> squeeze_axes((5, 1, 2, 1, 1), 'TZYXC')
      ((5, 2, 1), 'TYX')
  
      """
      if len(shape) != len(axes):
          raise ValueError('dimensions of axes and shape do not match')
      if skip is None:
          skip = 'XY'
      shape, axes = zip(*(i for i in zip(shape, axes)
                          if i[0] > 1 or i[1] in skip))
      return tuple(shape), ''.join(axes)