functions and closures and tuples