code: def replaceable(decorator):
      
      def decorate(fn, *args, **kwargs):
          parent = decorator(fn, *args, **kwargs)
          #doc = _add_msg(getattr(parent, '__doc__', None), '*@replaceable*')
          doc = getattr(parent, '__doc__', None)
          return _replaceable(parent, doc)
      return decorate
docs: A descriptor modifier which allows a setattr to succeed even if __get__ is defined.
      
      Formally, this turns a data descriptor into a non-data descriptor. Discards
      the implementation of __set__ and __delete__ if it exists, so be wary when
      not using with ``property``.