Modern programming languages all make it easy to define functions within functions. Furthermore, these inner functions can reference the values of variables in the outer scope (without needing to pass ...