(module util (curry applied thunk just perhaps) (import scheme) (define (curry fn a) (lambda (b) (fn a b))) (define (applied fn) (curry apply fn)) (define-syntax thunk (syntax-rules () ((_ exp ...) (lambda () exp ...)))) (define (just fn) (lambda args (fn))) (define (perhaps fn arg) (if arg (fn arg) arg)))