We have trouble keeping proper refcount balance on internal objects. For short-lived references, the problem is solved with BorrowedReference and NewReference types. For long-lived references we have PyObject, that ensures safety, however we are not using it in internal classes. There's very little reason not to do so.