As a principle we don't want to leak low-level C types to the user, so maybe use a opaque newtype for `Ptr ()` here? You should be able to see similar patterns in some other places in this project.