title: Why can't I call seq functions in a sequence generated by js->clj?
body: <p>Although I can get turn a simple js object into a clojure object with something like;</p>
  
  <pre><code>(-&gt; "{a: 2, b: 3}" js* js-&gt;clj)
  </code></pre>
  
  <p>I'm apparently not being able to do so with a particular object, <code>goog.events.BrowserEvent</code>, in a handler function like:</p>
  
  <pre><code>(defn handle-click [e]
    ...
    (-&gt; e .-evt js-&gt;clj keys) ;; &lt;-------------
    ...
  </code></pre>
  
  <p>The function does get applied, but the resulting object doesn't respond to sequence functions like <code>count</code>or <code>first</code>, although I can fetch items using <code>aget</code>. The error message I get, in chrome's console, is;</p>
  
  <pre><code>Uncaught Error: No protocol
  method ISeqable.-seq defined for type object: [object Object]
  </code></pre>
  
  <p>Why is this happening? Shouldn't <code>js-&gt;clj</code> work with all objects?</p>
  
  <p>How can I fix this?</p>
  
  <p>Thanks!</p>