def __setattr__(self, name, value):
        """Assigns attribute :py:`name` of the unflipped signature to :py:`value`.

        Performs :py:`setattr(unflipped, name, value)`, ensuring that, if :py:`name` refers to
        a property setter, its :py:`self` argument receives the flipped signature.
        """
        try: # descriptor first
            _gettypeattr(self.__unflipped, name).__set__(self, value)
        except AttributeError:
            setattr(self.__unflipped, name, value)
Assigns attribute :py:`name` of the unflipped signature to :py:`value`.

        Performs :py:`setattr(unflipped, name, value)`, ensuring that, if :py:`name` refers to
        a property setter, its :py:`self` argument receives the flipped signature.
        
amaranth/lib/wiring.py