title: Mutiple value bind in do loop in Common Lisp
body: <p>How do you bind multiple values returned from a function, inside a do loop?
  The following is obviously very wrong, but is something like this possible?</p>
  
  <pre><code>(do (((x y z) (3-val-fn) (3-val-fn)))
      ((equal y 'some-val) y)
      (values x y z))
  </code></pre>
  
  <p>Or maybe there is a way to do this using multiple-value-bind? </p>