I think I misunderstood your comment about CL vs Julia&#x2F;Dylan in regard to generic &quot;by default&quot;.<p>In Perl 6 this function definition implies a generic function:<p><pre><code>    multi concatenate (\foo, \bar) { foo ~ bar }
</code></pre>
This function definition does not:<p><pre><code>    sub concatenate (\foo, \bar) { foo ~ bar }
</code></pre>
If one views the latter as the &quot;default&quot; (because it&#x27;s two characters shorter and might be learned first) then Perl 6 has the same weakness, or at least the same default, as CL, compared to Julia and Dylan.