title: What's happening behind the scenes in XCTest's @testable?
body: <p>I know that</p>
  
  <pre><code>@testable import MyModule
  </code></pre>
  
  <p>gives ability to explore non-public members of <code>MyModule</code> from  a "test" (built with "testTarget") module <code>MyModuleTests</code>.</p>
  
  <p>I need the same functionality in my "non-test" module. Not in production, just in debug mode.</p>
  
  <p>My question is: do you know how to do this?</p>
  
  <p>And related (I think, harder question): what magic is actually happening behind <code>@testable</code>?</p>