Modify the function declaration
Add general utility functions: range() and fold()