title: Library function for sorting based on a predicate
body: <p>Does a function exist in the Clojure library for filtering a collection, and returning a pair of collections, one of which contains the items where the predicate returned true, and the other which contains the items where the predicate returned false?</p>
  
  <p>For example:</p>
  
  <pre><code>(let [[yays nays] (some-fn pred coll)] ... )
  </code></pre>
  
  <p>More or less, I am looking for a way to sort based on the predicate, rather than throw away (like with <code>filter</code> or <code>remove</code>).</p>
  
  <p>(Note: I know that a solution is to call <code>filter</code> and <code>remove</code> on the collection separately;  I just would like to know if there is a builtin function that can accomplish this more efficiently).</p>
  
  <p>(Edit:  <code>seq-utils/separate</code> doesn't qualify as more efficient.  It evaluates the predicate twice for each item.)</p>