This needs an `_ffi.NULL` check and hooking up to the GC?