Frees the native resources owned by this object. Subclasses implement the concrete free logic here; callers must use dispose instead.
@override void freeNative() { finalizer.detach(this); calloc.free(ptr); }