Changed so lists evaluate fully before returning from a function, so
callers don't need access to function parameters