@topspin the language provided one essentially allows you to chain a bunch of ?.
calls, such as a?.Child?.Child
, which leaves you with either null or the final child type. You then often use ?? SomeDefault() ;
to eliminate null if you have a default you want.
What gets interesting with the one in the op is that you can bring multiple objects into the query, and use let and the select line to call basically any code you want along the way, and the end result will always be an empty list or one which contains the object you want to select, even if you're constructing that dependent on everything else not being null.
The problem, other than the innate weirdness of it, is that in most cases, guarding against all those nulls explicitly may be better, if that's invalid input to whatever you're constructing. Which makes the primary use, imo, the optional construction of types with non nullable arguments.