pub(crate) fn release(mut self) {
        // NOTE(david): don't use `change_type` here as we are wanting to keep the
        // contents intact.
        self.u1.type_info = ZvalTypeFlags::Null.bits();
    }
Used to drop the Zval but keep the value of the zval intact.

This is important when copying the value of the zval, as the actual
value will not be copied, but the pointer to the value (string for
example) will be copied.
src/types/zval.rs