title: is there code smell in this usage of let
body: <p>I often end up in code like this in let where I am creating temporary variables just to hold state. What is a better way to do it? </p>
  
  <p>The thrush operator will not help because though e is temporary, I still need c and d in the consecutive let forms. </p>
  
  <pre><code>(let [[c d] (sum [a b])
        e     (if (even? c) c 0)
        f     (+ s e)]
     .....
    )
  </code></pre>