There is no reason beyond the engineers wanting to keep the function as memory friendly as possible. To store the data you are referring to would require a memory allocation running on a tick that while possible would be not as cost effective for all applications of the base function itself. All that being said it is absolutely possible to achieve it with some code changes.
Eric Ketchum