I suspect that we'll want to keep it, but I want to collect together related discussions: - In https://github.com/typetools/checker-framework/pull/3029#discussion_r363133687, we discussed that it's weird but that lots of people do pass `null`. - I don't know if it came up there, but I think I learned later that `new WeakReference<>(null)` never gets enqueued, which actually seems fairly scary? - Kotlin/Native has an (experimental) `WeakReference` whose [constructor](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.native.ref/-weak-reference/#1687976313%2FConstructors%2F-1386995942) doesn't allow `null`—hence https://github.com/google/xplat/commit/5cb35dbd607fed35f95153224b54ce6bb469bf12, I assume.