title: Why should (every? string? []) yield true?
body: <p>Looking at the source code for <code>every?</code> makes clear <em>why</em></p>
  
  <pre><code>(every? string? []) =&gt; true
  </code></pre>
  
  <p>This is because <code>every?</code> is implemented recursively and uses <code>(nil? (seq coll))</code> to end recursion.  But, my question is, what sense does this behaviour make?  Just tripped over that. </p>
  
  <p>I have solved my issue using</p>
  
  <pre><code>(and (seq x) (every? string? x))
  </code></pre>