# Implication

The following:

(cond
;; If we can find an association
((assq v s) =>
;; apply this lambda to it i.e. apply f (assq v s)
(lambda (a) f a))
(else v))

Is the same as:

;; Bind a variable a to the result of finding the association of v in s
(let ((a (assq v s)))
(cond
;; if we can find the association a, apply f to it.
(a (f a))
(else v)))