Is it possible for a recursive function to build up a function closure and return it to the caller? Basically the recursive function will take an initial lambda function and it will add one more closure(with each function call of the recursive function) that calls the previous closure and so on until it reaches the initial lambda function.

Is this possible in Rust and can someone show me a simple example of this?