In
(fn [& xs]
(if xs 1 2))
no type will be inferred for the {{xs}} param. If we instead infer it to be of type {{seq}} then an unchecked {{if}} can be emitted. (An example of code like this involving an unnecessary check in {{if}} is in the variadic arity of {{str}}.)
While a change such as this wouldn't have a huge perf impact, it could slightly reduce generated code size and it could lead to better diagnostics for incorrect code:
cljs.user=> (fn [& xs] (+ xs 1))
WARNING: cljs.core/+, all arguments must be numbers, got [seq number] instead at line 1 <cljs repl>