In fact, many basic geometries (in fact all that have struct datatypes) have ‘unset’ values. To name a few:
Arc.Unset
Circle.Unset
Point3d.Unset
Vector3d.Unset
BoundingBox.Unset
etc. etc.
They’re very useful in all kinds of algorithms to test if an assignment, that may depend on a lot of operations and if-statements, was ultimately successful.