I am trying to implement very basic shared_ptr (most functions skipped in question for simplicity), and for the case we have a pointer of base and create a derived pointer I cre