Many functions and macros in Clojure rely on reducing variadic parameters using recursion, e.g.<p><pre><code>  (defn max &quot;Returns the greatest of the nums.&quot;
    ([x] x)
    ([x y] (. clojure.lang.Numbers (max x y)))
    ([x y &amp; more] (reduce1 max (max x y) more)))
</code></pre>
You&#x27;d be limited to 2 params if you didn&#x27;t have variadicity. Some macros like switching, which in Clojure is called `condp`, would lose their elegant single-parens appearance if variadicity wasn&#x27;t allowed.