(define (apply-multi-proc a p)
 (define (iter a p)
  (if (not (null? a))
    (begin
     ((car p) (car a))
     (iter (cdr a) (cdr p)))))
  (if (= (length a) (length p))
   (iter a p)
   (error "Error: apply-multi-proc")))

(define main
 (apply-multi-proc '(1 2 3) '(a b c)))
(define (a x) (display x))
(define (b x) (display (* x 2)))
(define (c x) (display (* x 3)))

このコードが動かないわけを教えてください。
(a 1)がInvalid Applicationと言われてしまいます。