When I do (apply interleave some-colls)
and some-colls is a sequence/collection of only one sequence/ collection, it will throw: user=> (apply interleave [[1 2]]) java.lang.IllegalArgumentException: Wrong number of args passed to: core$interleave (NO_SOURCE_FILE:0) (Of course I don't need the apply to cause that exception, but calling interleave directly with just one parameter doesn't make any sense. But in the case you use apply, having only one sequence in a sequence is a possible corner case that can arise "at run time") In order to make interleave more general, I'd like to add a "one param overload" to interleave like (defn interleave "Returns a lazy seq of the first item in each coll, then the second etc." ([c] (seq c)) ... or even just (defn interleave ([c] c) but that would break the contract of interleave, in that it returns whatever you pass in, which might not be a sequence, as is the case in my example. Any thoughts on this? Eugen -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en