@classmethod
def dims(cls, value):
    """Produce iterable of all dimensions"""
    for base in cls.types(value):
        length = getattr(base, '_length_', None)
        if length is not None:
            yield length
