&gt; I can see the alternate viewpoint but given that we can use structs and default fields to get the same effect I&#x27;m happy with the current solution.<p>And that&#x27;s completely fair, I routinely use languages both with and without optional parameters[0] and that&#x27;s fine I&#x27;m not saying languages <i>must</i>[1] have optional parameters, or even that they <i>should</i>[1]. My comment only tries to humorously denote that the claim I quoted is pure lunacy.<p>&gt; we can use structs and default fields<p>Don&#x27;t forget the builder pattern which works pretty well to replace optional parameters (<i>and</i> keyword&#x2F;named parameters), though it&#x27;s less convenient on the implementer&#x27;s side.<p>[0] whether in the &quot;native&quot; sense à la Python or C#, in the &quot;overloaded method&quot; sense à la C++ or Java or in the &quot;well your question doesn&#x27;t even make sense&quot; à la Smalltalk<p>[1] in an RFC 2119 sense