Your question seems to be based on a false premise. in-array it is not necessary to take a vector, it takes the value of seqable. The documentation ( http://clojuredocs.org/clojure_core/clojure.core/into-array ) contains examples of using in-array in a non-vector sequence:
user=> (into-array (range 4))
Calling it on a list works just as well:
user=> (into-array (list 1 2 3))
source share