I'm trying to implement this logic in Clojure (just an example):

```
a = 1 + 5
b = a + 3
c = a + 4
d = c + a
return f(a, b, c, d) 

```

The best code I've managed to write so far looks like:

```
(let [a (+ 1 5) b (+ a 3) c (+ a 4) d (+ c a)] (f a b c d))

```

This looks rather cumbersome, mostly because in my real-life case these "add" operations are much more complicated and may take a few lines of code. I would rather prefer to write it like (Lisp style):

```
(set a (+ 1 5))
(set b (+ a 3))
(set c (+ a 4))
(set d (+ c a))
(f a b c d)

```

Is it possible in Clojure?