Consider the following case:
class test:
  def foo(self, o):
    print(o)
  @staticmethod
  def bar(o):
    print(o)
    
  @classmethod
  def qux(cls, o):
    print(cls)
    print(o)
def baz(o):
  print(o)
t = test()
class A:
  meth1 = t.bar
  meth2 = t.foo
  meth3 = baz
  meth4 = t.qux
a = A()
a.meth1()
a.meth3()
# a.meth4()
# a.meth2()
This works just fine, but if I call meth2/4 I get the following error:
TypeError: <foo/qux>() missing 1 required positional argument: 'o'
Is there any way I can get t.foo and t.qux working like t.bar and baz?
 
    