Correct the mistake of not including closures as values, thanks to Andreas Voeth
Use `flet` which is the CL counterpart of `WithFun` in the language defined in Problem 3