Defining a multimethod with varargs, then using apply on a seqable with more than 20 items fails.
The error is different depending on whether there's exactly 21 args or more.
This behavior is not observed in normal function definitions.
ClojureScript 1.10.439
cljs.user=> (defmulti foo (fn (link: & args) (first args)))
'cljs.user/foo
cljs.user=> (defmethod foo 0 (link: & args))
object(link: cljs.core.MultiFn)
cljs.user=> (apply foo (range 20))
nil
cljs.user=> (apply foo (range 21))
Error: 20 is not ISeqable
cljs$core$seq (.cljs_nashorn_repl/cljs/core.cljs:1223:13)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3739:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$spread (.cljs_nashorn_repl/cljs/core.cljs:3740:9)
cljs$core$IFn$_invoke$arity$variadic (.cljs_nashorn_repl/cljs/core.cljs:3926:6)
G__12749__22 (.cljs_nashorn_repl/cljs/core.cljs:10998:5)
G__12749 (.cljs_nashorn_repl/cljs/core.cljs:10868:1)
apply (.cljs_nashorn_repl/cljs/core.cljs:10868:1)
cljs$core$IFn$_invoke$arity$6 (.cljs_nashorn_repl/cljs/core.cljs:3885:6)
cljs$core$IFn$_invoke$arity$5 (.cljs_nashorn_repl/cljs/core.cljs:3879:6)
cljs$core$IFn$_invoke$arity$4 (.cljs_nashorn_repl/cljs/core.cljs:3873:6)
cljs$core$IFn$_invoke$arity$3 (.cljs_nashorn_repl/cljs/core.cljs:3867:6)
cljs$core$IFn$_invoke$arity$2 (.cljs_nashorn_repl/cljs/core.cljs:3861:6)
cljs$core$IFn$_invoke$arity$2 (.cljs_nashorn_repl/cljs/core.cljs:3896:6)
cljs$core$apply (.cljs_nashorn_repl/cljs/core.cljs:3887:1)
(<NO_SOURCE_FILE> <eval>:1:0)
(<NO_SOURCE_FILE> <eval>:1:0)
(<NO_SOURCE_FILE> <eval>:1:0)
cljs.user=> (apply foo (range 22))
Error: Invalid arity: 22
G__12749 (.cljs_nashorn_repl/cljs/core.cljs:36125:0)
apply (.cljs_nashorn_repl/cljs/core.cljs:10868:1)
cljs$core$IFn$_invoke$arity$6 (.cljs_nashorn_repl/cljs/core.cljs:3885:6)
cljs$core$IFn$_invoke$arity$5 (.cljs_nashorn_repl/cljs/core.cljs:3879:6)
cljs$core$IFn$_invoke$arity$4 (.cljs_nashorn_repl/cljs/core.cljs:3873:6)
cljs$core$IFn$_invoke$arity$3 (.cljs_nashorn_repl/cljs/core.cljs:3867:6)
cljs$core$IFn$_invoke$arity$2 (.cljs_nashorn_repl/cljs/core.cljs:3861:6)
cljs$core$IFn$_invoke$arity$2 (.cljs_nashorn_repl/cljs/core.cljs:3896:6)
cljs$core$apply (.cljs_nashorn_repl/cljs/core.cljs:3887:1)
(<NO_SOURCE_FILE> <eval>:1:0)
(<NO_SOURCE_FILE> <eval>:1:0)
(<NO_SOURCE_FILE> <eval>:1:0)
cljs.user=> (defn bar (link: & args))
'cljs.user/bar
cljs.user=> (apply bar (range 100))
nil