you can still call `-setValue:forKey:` so I the memory policy needs to be taken account somewhere, but yeah, `readwrite` in a class extension fixes it. back to only having `weak` properties transitory then, which I think is good enough since we're mostly dealing with cyclic references.