Yeah. Gets a little messy with variable name shadowing, but that can be managed. Is also a good way to negotiate the interface to a function. You know, when you find that some extra bit of context should be passed, especially when that bit wants to be another function.