|
Another possibility would be to have a special unique non-nil value (call it 'null') which is used to represent any embedded nils in {...}.
You can use null=false or null={} if you must have null.
This is an oft-proposed "solution" which isn't. You can't remove a singularity by replacing it with another.
After all, once you have your special value null to stand in for nil, then you need reallynull to represent null, and reallyreallynull to represent reallynull, and so forth.