A lua object is nil if both its value and fields
are nil.
A reference to a nil lua object is treaded
transitively as a nil lua object.
Implementation
bool get isNil => switch (isRef) {
true => deref().isNil,
false => _value == null && _fields == null,
};