Exercise 1.41. Define a procedure double that takes a procedure of one argument as argument and returns a procedure that applies the original procedure twice. For example, if inc is a procedure that adds 1 to its argument, then (double inc) should be a procedure that adds 2. What value is returned by (((double (double double)) inc) 5) ———————————————————————————————————————————————————————————————————————— (define (double f) (lambda (x) (f (f x)))) The returned value will be 21. In pseudo-code (lambdas elided), evaluation proceeds as: (((double (double double)) inc) 5) (((double (double (double f))) inc) 5) (((double (double (double (double f)))) inc) 5) (((double (double (double (inc (inc x))))) 5) ...