title: Determine namespace of a function's caller
body: <p>I'm trying to accurately determine the namespace of a function's caller. Looks like <code>*ns*</code> is determined by the namespace at top of the call stack.</p>
  
  <pre><code>user=&gt; (ns util)
  nil
  util=&gt; (defn where-am-i? [] (str *ns*))
  #'util/where-am-i?
  util=&gt; (ns foo (:require [util]))
  nil
  foo=&gt; (util/where-am-i?)
  "foo"
  foo=&gt; (ns bar)
  nil
  bar=&gt; (defn ask [] (util/where-am-i?))
  #'bar/ask
  bar=&gt; (ask)
  "bar"
  bar=&gt; (ns foo)
  nil
  foo=&gt; (util/where-am-i?)
  "foo"
  foo=&gt; (bar/ask)
  "foo"
  foo=&gt;
  </code></pre>
  
  <p>Is there some other meta data I can rely on or do I need to specify this manually?</p>