I don't get the point of this one either. What is the use case for this behavior? In most cases, calling code should be handling giving these functions things they can work with, the functions shouldn't work to make weird input suitable for consumption.