Homework III Answers Part I 1. a) (10 99 2 3) b) (1 2 3 z b c) c) ((99 2 3) (#t 9 10 11)) d) (#t 9 10 11) e) 4 f) 4 g) 4 h) 4 Part II 1. (define (overload-1 orig-func new-func arg-type?) (lambda (x) (if (arg-type? x) (new-func x) (orig-func x)) ) ) 2. (define (curry f x) (lambda (y) (f x y))) (define (identity x) x) (define anything->string (overload-1 (overload-1 (overload-1 (overload-1 (curry error "Unknown Type") (lambda (x) (if x "#t" "#f")) boolean?) identity string?) symbol->string symbol?) number->string number?) )