This really simplifies down to the issues of how to deal with optional return types in general.
And the answer as far as I can tell is either use a language with adequate support for safe optionals or accept that whatever you do is going to be a compromise with a slightly sharp edge.
A list of length zero or one is sometimes a viable solution, but it's really just a hack sidestepping how long it took us to come up with a better solution than null.
This really simplifies down to the issues of how to deal with optional return types in general.
And the answer as far as I can tell is either use a language with adequate support for safe optionals or accept that whatever you do is going to be a compromise with a slightly sharp edge.
A list of length zero or one is sometimes a viable solution, but it's really just a hack sidestepping how long it took us to come up with a better solution than null.