Removal of the extra case, shifts the bug.  It now type checks fine, but when you instantiate (run) the module it blows up with a bountiful error message. <div><br></div><div>If I again comment out the kw args all is well.  <br>
<div>To summarize: </div><div>1) case-&gt; + kw =&gt; type checking fails.</div><div>2) Remove case, leave kws =&gt; RUNning the module fails.</div><div>3) Remove kws and add back case-&gt; =&gt; everything works.</div><div>
<br></div><div>Ray</div><div><br></div><div><br></div><div><br></div><div><div>function: broke its contract</div><div> promised a procedure that accepts 3 arguments and arbitrarily more and the optional keywords #:alpha #:color #:label #:samples #:style #:width #:y-max #:y-min</div>
<div> produced: #&lt;procedure:function&gt;</div><div> in: (recursive-contract</div><div>... for ~300 lines</div><div><br></div><div><br></div><div><br></div><div><br><br><div class="gmail_quote">On Fri, Aug 10, 2012 at 3:12 AM, Eric Dobson <span dir="ltr">&lt;<a href="mailto:eric.n.dobson@gmail.com" target="_blank">eric.n.dobson@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It looks like there is an issue with turning case lambdas with<br>
keywords into a contract. If you drop the one argument case for<br>
function, it should work.<br>
<div><div class="h5"><br>
<br>
<br>
On Thu, Aug 9, 2012 at 4:01 PM, Ray Racine &lt;<a href="mailto:ray.racine@gmail.com">ray.racine@gmail.com</a>&gt; wrote:<br>
&gt; The following sample works well enough that I can do something similar for<br>
&gt; each of my current situational plotting needs  However, I can&#39;t seem to get<br>
&gt; any of the keyword typings to work.<br>
&gt;<br>
&gt; No keyword typing support for require/typed at this time, bug, or I&#39;m flat<br>
&gt; out doing it wrong?<br>
&gt;<br>
&gt; Thanks,<br>
&gt;<br>
&gt; Ray<br>
&gt;<br>
&gt; #lang typed/racket/base<br>
&gt;<br>
&gt; (require<br>
&gt;  (only-in racket/math<br>
&gt;           sqr))<br>
&gt;<br>
&gt; (define-type Color% (Class () () ()))<br>
&gt;<br>
&gt; (define-type Plot-Pen-Style (U Integer<br>
&gt;                                (U &#39;transparent &#39;solid<br>
&gt;                                   &#39;bdiagnol-hatch &#39;fdiagonal-hatch<br>
&gt;                                   &#39;horizontal-hath &#39;veritcal-hatch<br>
&gt;                                   &#39;crossdisg-hatch &#39;cross-hath)))<br>
&gt;<br>
&gt; (define-type Plot-Color (U Integer (List Real Real Real)<br>
&gt;                            String Symbol Color%))<br>
&gt;<br>
&gt; (define-type Image-Snip% (Class () () ()))<br>
&gt;<br>
&gt; (require/typed plot/utils<br>
&gt;                [opaque Renderer2d renderer2d?]<br>
&gt;                [linear-seq (Real Real Exact-Nonnegative-Integer -&gt; (Listof<br>
&gt; Real))])<br>
&gt;<br>
&gt; (require/typed plot/main<br>
&gt;    [plot (Any -&gt; Any)]<br>
&gt;    [function (case-&gt; ((Real -&gt; Real)<br>
&gt;                       (Option Exact-Rational)<br>
&gt;                       (Option Exact-Rational)<br>
&gt;                       ;[#:y-min   Exact-Rational]<br>
&gt;                       ;              [#:y-max   Exact-Rational]<br>
&gt;                       ;              [#:samples Integer]<br>
&gt;                       ;              [#:color   Plot-Color]<br>
&gt;                       ;              [#:width   Natural]<br>
&gt;                       ;              [#:style   Plot-Pen-Style]<br>
&gt;                       ;              [#:alpha   Real]<br>
&gt;                       ;              [#:label  (Option String)]<br>
&gt;                       -&gt; Renderer2d)<br>
&gt;                      ((Real -&gt; Real) -&gt; Renderer2d))]<br>
&gt;<br>
&gt;    [area-histogram<br>
&gt;     ((Real -&gt; Real) (Listof Real) -&gt; Renderer2d)])<br>
&gt;<br>
&gt; (define (test)<br>
&gt;   (: f (Real -&gt; Real))<br>
&gt;   (define (f x) (exp (* -1/2 (sqr x))))<br>
&gt;   (plot (list (area-histogram f (linear-seq -4 4 10))<br>
&gt;               (function f -4 4))))<br>
&gt;<br>
</div></div>&gt; ____________________<br>
&gt;   Racket Users list:<br>
&gt;   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
&gt;<br>
</blockquote></div><br></div></div></div>