sage coercing subclass instance to superclass instance?
I've created a subclass of the class 'sage.schemes.elliptic_curves.ell_point.EllipticCurvePoint_finite_field' so that I can run an implementation of the generalized Weil pairing (sage currently only has a built-in method for computing the weil pairing for a scalar endomorphism). My understanding is that when one creates a subclass, instances of that subclass should inherit all the methods of the superclass. However, when I define a point P on an elliptic curve E as an instance of the subclass I've created and then add that point to itself, sage returns to me an object of the superclass, 'sage.schemes.elliptic_curves.ell_point.EllipticCurvePoint_finite_field'.
I'm at a loss for why this is happening. Though my understanding of how Python works in general is limited, I believe that applying a superclass method to an instance of a subclass should yield another instance of the subclass.
I am happy to share my code if that would be helpful.