In Kodein dependency injection, how can you inject instances of Kodein itself into instances?
<p>In Kodein, I have modules imported into a parent module, and sometimes the classes need an instance of Kodein so they can do injection themselves later.  The problem is this code:</p>

<pre class="lang-kotlin prettyprint-override"><code>val parentModule = Kodein {
    import(SomeService.module)
}
</code></pre>
<p>Where <code>SomeService.module</code> needs the Kodein instance for later, but Kodein isn't yet created.  Passing it later into the module seems like a bad idea.</p>
<p>In Kodein <code>3.x</code> I see there is the <code>kodein-conf</code> module that has a global instance, but I want to avoid the global.</p>
<p>How do other modules or classes get the Kodein instance?</p>
<p><em><strong>Note:</strong></em> <em>this question is intentionally written and answered by the author (<a href="https://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/">Self-Answered Questions</a>), so that the idiomatic answers to commonly asked Kotlin/Kodein topics are present in SO.</em></p>