The paragraph that choroba cites, documents four acceptable ways to sort an array returned by a function. I think it is reasonable to assume that anything else is ambiguous and should be considered invalid. In this view, all of your cases are invalid. The fact that some of them appear to do what you intend is irrelevant. It would be helpful if the document explained the reason for this restriction.