# 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)))
```