code: def add_proxy_meth(cls, name, func, arg_pos=0):
          
  
          @wraps(func)
          def proxied(self, *args, **kwargs):
              args = list(args)
              args.insert(arg_pos, self.__subject__)
              result = func(*args, **kwargs)
              return result
  
          setattr(cls, name, proxied)
docs: Add a method `name` to the class, which returns the value of `func`,
          called with the proxied value inserted at `arg_pos`