Nice examples. Am I correct in guessing that this code:<p><pre><code>    (ns com.stuartsierra.component
      (:require [com.stuartsierra.dependency :as dep]
            [com.stuartsierra.component.platform :as platform]))

</code></pre>
requires the correct platform.clj or platform.cljs depending on the runtime?<p>And that this:<p><pre><code>    #?(:clj
       (defmethod clojure.core&#x2F;print-method SystemMap
         [system ^java.io.Writer writer]
         (.write writer &quot;#&lt;SystemMap&gt;&quot;))
       :cljs
       (extend-protocol IPrintWithWriter
         SystemMap
         (-pr-writer [this writer opts]
           (-write writer &quot;#&lt;SystemMap&gt;&quot;))))
</code></pre>
is how you perform different operations in a single file based on runtime?