Either a typographical error, or use of a variable outside
of the part of the program in which it is available (e.g. using
a variable created by let outside the body of the let,
or use of a variable created by define within a procedure
outside of that procedure).
Applying something that isn't a procedure
"The object ... is not applicable" The value of
the first subexpression in a combination must be a procedure.
Wrong number of arguments to a procedure
The number of arguments in a call to a procedure must
match the number of parameters the procedure expects.