There are lots of cases that you can improve. The examples use nullable reference types, but only the WhenNotNull example requires it. Consider adopting the new property pattern, wherever you use IsNullOrEmpty. You can use a similar super-powered set of checks on arrays. Note that the "Old approach" isn't compatible with nullability, but the "New approach" is.