You want to handle teardown yourself anyway, as otherwise long lists could overflow the stack on drop.

I'm not convinced not using `Weak` is better, though.