I was just in a situation where I had a base class with a value that made sense to be nullable, and a sub class which represented a more specific use case for the base class, where it no longer made sense for that value to be null. I expressed that in my code by changing the sub class's primary constructor input to be non-null, but users of the sub class API can't leverage that non-null guarantee