@staticmethod
def _indexing_repr(value):
    """Represent values as used in canonical slicing syntax"""
    if value is Ellipsis:
        return '...'
    elif isinstance(value, slice):
        start = value.start if value.start is not None else ''
        stop = value.stop if value.stop is not None else ''
        step = ':{}'.format(value.step) if value.step is not None else ''
        return '{}:{}{}'.format(start, stop, step)
    return repr(value)
