=&gt; [[0 :zero] [:zero 0]]

(do (&lt;&lt; (!! ov 0 0))      ;; no change to output
    (deref output))
=&gt; [[0 :zero] [:zero 0]]</code></pre>
</div><div>
    <span id="clojure-protocols"></span>
    <h3>4.3 &nbsp;&nbsp; Clojure Protocols</h3>
</div><div><p><code>ova</code> implements the sequence protocol so it is compatible with all the bread and butter methods.</p>
</div><div class="code">
    <pre><code class="clojure">(def ov (ova (map (fn [n] {:val n})
                  (range 8))))

(seq ov)
=&gt; 