¿Pueden las devoluciones de llamada `weakref` reemplazar a` __del__`?

¿Hay algún obstáculo que impidaweakref de hacer todo lo que__del__ lo hace pero con garantías mucho más fuertes (por ejemplo,finalize garantiza que la llamada se realizará antes de que salga el intérprete y que el orden de las llamadas esté bien definido, etc.)

Parece que en el pasado lejanose pensó eseweakref eventualmente conduciría a la eliminación de__del__ del idioma

¿Qué evitó que esto sucediera?

Parece serpocos casos de uso para__del__, y todos los que conozco parecen funcionar al menos tan bien (y generalmente mucho mejor) conweakref devoluciones de llamada oweakref.finalize.

Actualizar:

ConPEP 442 mejorando dramáticamente el comportamiento de__del__y las preocupaciones conweakref mencionado por @gz y @ user2357112, me pregunto si el lenguaje generalmente se está moviendo hacia la creación__del__ más confiable, o hacia el usoweakref en lugar de__del__, o ambos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta