title: extend-protocol when both defrecord and protocol are in another namespace
body: <p>I'm trying to use extend-protocol to extend a protocol and a record from different namespaces, but I'm getting the following error:</p>
  <pre><code>Syntax error compiling at (src/http_client/client_mixed.clj:10:1).
  No such var: either/Right
  </code></pre>
  <p>Here is the code:</p>
  <pre class="lang-clj prettyprint-override"><code>(ns http-client.client-mixed
    (:require [cats.core :as m]
              [cats.monad.either :as either]
              [fmnoise.flow :as f]))
  
  (extend-protocol f/Flow
    either/Right
    (?ok [this f] (f (m/extract this)))
    (?err [this _] (m/extract this))
    (?throw [this] (m/extract this))
  
    either/Left
    (?ok [this _] (m/extract this))
    (?err [this f] (f (ex-info &quot;Either.Left&quot; (m/extract this))))
    (?throw [this] (throw (ex-info &quot;Either.Left&quot; (m/extract this)))))
  </code></pre>