title: How can I resolve a protocol lookup if I know what class will be passed to the function?
body: <p>Example:</p>
  
  <pre><code>(defprotocol Foo (foo [x]))
  (extend-protocol Foo Long (foo [x] (inc x)))
  
  ;; This is the way that I know how to do it... is there a better way?    
  (def long-foo (-&gt; #'foo meta :protocol deref :impls (#(get % Long)) :foo))
  </code></pre>
  
  <p>I am interested in this for an optimization on a task that will make the call many times, with each call taking a very short amount of time.  I have already switched from <code>extend-protocol</code> to <code>extend</code> in order to prevent an extra function call in my specific case.</p>