<div dir="ltr">My apologies!<br>After reading the docs again that&#39;s the expected functionality.<br><div>&quot;the rest parameter, if any, takes up an argument slot just like any other
argument&quot;</div><div><br></div><div>But still, I think it&#39;d be a neat future to behave like I had assumed.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 30 Jul 2021 at 16:55, Christos Vagias &lt;<a href="mailto:chris.actondev@gmail.com" target="_blank">chris.actondev@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Bil,</div><div><br></div><div>I think I&#39;ve stumbled upon a bug in define*</div><div><br></div><div>(define* (foo a b :rest rest (c #f) (d #f))<br>  (format #f &quot;a=~A b=~A c=~A d=~A rest=~A&quot;<br>          a b c d rest))</div><div><br></div><div>(foo 1 2 3 4)</div><div>returns &quot;a=1 b=2 c=4 d=#f rest=(3 4)&quot;</div><div><br></div><div>but, in the returned string, c should be #f<br></div></div>
</blockquote></div>