title: ClojureScript : How to access an object in an Om cursor
body: <p>I'm just experimenting with Om, learning from the basic tutorial.</p>
  
  <p>My program data is in a single atom : app-state. </p>
  
  <p>If I put a sequence into that atom, eg. </p>
  
  <pre><code>(defonce app-state (atom {:things [1 2 3 4]}))
  </code></pre>
  
  <p>Then later on, in my rendering, I can get a cursor </p>
  
  <pre><code>(let [things (:things data)] ... )
  </code></pre>
  
  <p>and map across it :</p>
  
  <pre><code>(map #(* % %) things)
  </code></pre>
  
  <p>However, if I have a defrecord with a method that can return a sequence :</p>
  
  <pre><code>(defrecord ThingCollection [xs]
      IThingCollection
      (getSeq [this] ... ) )
  </code></pre>
  
  <p>and put THAT into the application state</p>
  
  <pre><code>(defonce app-state (atom {:things (-&gt;ThingCollection [1 2 3 4]})))
  </code></pre>
  
  <p>...</p>
  
  <pre><code>(let [things (:things data)] ... )
  </code></pre>
  
  <p>I can't do this : </p>
  
  <pre><code>(map #(* % %) (.getSeq things))
  </code></pre>
  
  <p>It just throws an error saying that a cursor has no method .getSeq</p>
  
  <p>That makes sense. But then how can I actually get at the ThingCollection object inside the cursor? I can't find any examples of this. And nothing I've tried seems to give it to me.</p>