<p dir="ltr">Why not make this explicit by deprecating define/contract and support this use case with a submodule.  They lightweight enough and makes boundary demarcations consistent, explicit and simple.  Module -&gt; boundary.</p>

<div class="gmail_quote">On Nov 30, 2012 12:05 PM, &quot;Matthias Felleisen&quot; &lt;<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On Nov 30, 2012, at 10:15 AM, Greg Hendershott wrote:<br>
<br>
&gt;&gt; This is a complete misunderstanding.<br>
&gt;<br>
&gt; Sometimes I feel like a kid in the room while the adults are talking.<br>
&gt; When it comes to contracts, I have to stipulate that most of you are<br>
&gt; smarter than me and have thought about this longer than me.<br>
<br>
<br>
Apologies. My opening wasn&#39;t meant to say &quot;I am smarter&quot; but I wanted<br>
to send a strong message about define/contract. It really introduces a<br>
boundary and in some strange sense your (possibly misleading) microbenchmark<br>
exposes this constraint too.<br>
<br>
<br>
<br>____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br></blockquote></div>