For functions that can be used in either a scalar or list context, non-abortive failure is generally indicated in a scalar context by returning the undefined value, and in a list context by returning the null list. Each operator and function decides which sort of value it would be most.appropriate to return in a scalar context. Some operators return the length of the list that would have been returned in a list context. Some operators return the first value in the list. Some operators return the last value in the list.
Some operators return a count of successful operations.
In general, they do what you want, unless you want consistency. Some functions appear in more than one place.