2) Based on faith that someone will not forget to do something instead of a well documented mechanism in the language that could block that from the start
Having nil/null to handle empty references is simply very bad design and there's decades of examples why. The correct way is using a two-value type like Option, Maybe, etc. so that the (possibility) of the value missing is actually encoded in the type system
1) Anecdotal
2) Based on faith that someone will not forget to do something instead of a well documented mechanism in the language that could block that from the start
Having nil/null to handle empty references is simply very bad design and there's decades of examples why. The correct way is using a two-value type like Option, Maybe, etc. so that the (possibility) of the value missing is actually encoded in the type system