The Apple runtime seems to make some assumptions about root objects being NSObject, and as a result segfaults when using weak.