| n | class Ins: | n | class SizeDescriptor: | 
             |  |  |  | 
             |     def __init__(self): |  |     def __init__(self): | 
            | n |         self._size = None | n |         self._values = None | 
             |  |  |  | 
             |     def __get__(self, instance, owner): |  |     def __get__(self, instance, owner): | 
             |         if instance is None: |  |         if instance is None: | 
             |             return self |  |             return self | 
            | n |         if self._size is not None: | n |         if self._values is not None: | 
             |             return self._size |  |             return self._values | 
             |         if hasattr(instance, '__len__'): |  |         if hasattr(instance, '__len__'): | 
             |             return len(instance) |  |             return len(instance) | 
            | n |         elif hasattr(instance, '__abs__'): | n |         if hasattr(instance, '__abs__'): | 
             |             return abs(instance) |  |             return abs(instance) | 
            | n |         else: | n |  | 
             |             return 0 |  |         return 0 | 
             |  |  |  | 
             |     def __set__(self, instance, value): |  |     def __set__(self, instance, value): | 
            | n |         self._size = value | n |         self._values = value | 
             |  |  |  | 
             |     def __delete__(self, instance): |  |     def __delete__(self, instance): | 
            | n |         self._size = None | n |         self._values = None | 
             |  |  |  | 
             | def sizer(cls): |  | def sizer(cls): | 
            | t |     cls.size = Ins() | t |     cls.size = SizeDescriptor() | 
             |     return cls |  |     return cls |