title: Clojure for loop not returning updated values of atom
body: <p>I'm trying to write a function that counts the number of vowels and consonants in a given string. The return value is a map with two keys, <code>vowels</code> and <code>consonants</code>. The values for each respective key are simply the counts. </p>
  
  <p>The function that I have been able to develop so far is </p>
  
  <pre><code>(defn count-vowels-consenants [s]
    (let [m (atom {"vowels" 0 "consenants" 0})
          v #{"a" "e" "i" "o" "u"}]
      (for [xs s]
        (if
            (contains? v (str xs))
              (swap! m update-in ["vowels"] inc)
              (swap! m update-in ["consenants"] inc)
         ))
      @m))
  </code></pre>
  
  <p>however <code>(count-vowels-consenants "sldkfjlskjwe")</code> returns <code>{"vowels":0 "consenants": 0}</code></p>
  
  <p>What am I doing wrong?</p>
  
  <p>EDIT: changed my input from <code>str</code> to <code>s</code> as <code>str</code> is a function in Clojure.</p>