I am given a designated factory of A-type objects. I would like to make a new version of A-type objects that also have the methods in a Mixin class. For reasons that are too long to explain here, I can't use class A(Mixin), I have to use the A_factory. Below I try to give a bare bones example.
I thought naively that it would be sufficient to inherit from Mixin to endow A-type objects with the mixin methods, but the attempts below don't work:
class A: pass
class A_factory:
    def __new__(self):
        return A()
        
class Mixin:
    def method(self):
        print('aha!')
class A_v2(Mixin):  # attempt 1
    def __new__(cls):
        return A_factory()
class A_v3(Mixin):  # attempt 2
    def __new__(cls):
        self = A_factory()
        super().__init__(self)
        return self
In fact A_v2().method() and A_v3().method() raises AttributeError: 'A' object has no attribute 'method'.
What is the correct way of using A_factory within class A_vn(Mixin) so that A-type objects created by the factory inherit the mixin methods?
 
    