title: How to diff/substract two lists in Clojure
body: <p>Example:</p>
  
  <pre><code>1 1 1 3 3 4 4 5 5 6  L1
  1     3 3   4 5      L2
    1 1     4     5 6  Res
  </code></pre>
  
  <p>Constraints:</p>
  
  <ol>
  <li>The diff/subtract is defined as the "set" of elements from L1 minus (∖) L2</li>
  <li>L2 is always a subset (⊆) of L1</li>
  <li>The elements in L1 and L2 can have duplicates</li>
  <li>The elements are primitives (int, string) and all of the same type</li>
  </ol>
  
  <p><code>(clojure.set/difference)</code> doesn't help here because of (3).</p>