title: Clojure join fails to create a string from the result of filter function
body: <p>I'm trying to write a function that takes a string and returns a result of a filter function (I'm working through <a href="https://www.4clojure.com" rel="nofollow">4clojure</a> problems). The result must be a string too.</p>
  
  <p>I've written this:</p>
  
  <pre><code>(fn my-caps [s]
    (filter #(Character/isUpperCase %) s))
  
  (my-caps "HeLlO, WoRlD!")
  
  Result: (\H \L \O \W \R \D)
  </code></pre>
  
  <p>Now I'm trying to create a string out of this list, using clojure.string/join, like this:</p>
  
  <pre><code>(fn my-caps [s]
    (clojure.string/join (filter #(Character/isUpperCase %) s)))
  </code></pre>
  
  <p>The result is however the same. I've also tried using <code>apply str</code>, with no success.</p>