I've decided that there's no changing your opinion on the matter. Despite the fact that four people have responded questioning your use of "returns an array", you have stood fast. You called my expectations of an arrayref in scalar context when you say "returns an array" as ridiculous and I certainly appreciate your input on the matter. It does show, however, that there's at least one idiot who reads "returns an array" this way. You state here that you can say "returns an array" and you won't need to update the documentation in the future. I mean no disrespect when I say that I read that as you intentionally use abstract terms and "golf" your documentation to lower the amount of maintainence needed. If this is the case, why bother at all? If you aren't going to properly describe your code in non-ambiguous terminology then what good does your documentation serve?
But hey, I'm just a dimwit who believes "returns an array" means that the subroutine returns an arrayref in scalar context. =/