(define (lambda? x)
(and (list? x) (eq? (car x) 'lambda)))
-(define lambda-arg cadr)
-(define lambda-body cddr)
+; for use in normalized form
+(define lambda-arg caadr)
+; for use elsewhere
+(define lambda-args cadr)
+(define lambda-body caddr)
(define (var? x)
(and (not (list? x)) (symbol? x)))
+
+(define (builtin? x)
+ (case x
+ ('+ #t)
+ ('- #t)
+ ('* #t)
+ ('! #t)
+ ('bool->int #t)
+ (else #f)))