Q:

Putting singles and lists into a list in clojure

Is there a more elegant way to have into work with single items and lists than the following (admittedly atrocious) function? 
(defn into-1-or-more
  [this-list list-or-single]
  (into this-list (flatten (conj [] list-or-single))))

Which can handle either:
(into-1-or-more [1 2 3 4] 5)
;[1 2 3 4 5]

Or:
(into-1-or-more [1 2 3 4] [5 6 7 8])
;[1 2 3 4 5 6 7 8]

I am building a collection with reduce using into [] with results from functions in a list.  However some of the functions return single items, and others return lists of items.  Like:
(reduce #(into [] (% data)) [func-return-item func-return-list func-return-either])

Would the best solution be to just do the following instead? 
(into [] (flatten (map #(% data) [func-return-item ...])

A:

Although it would be more ideal to know for sure what return type you are getting, here is a simple answer:
(flatten [ curr-list (mystery-fn) ] )

Examples:
(flatten [[1 2 3] 9 ] )
;=> (1 2 3 9)
(flatten [[[1] 2 3] [4 5] 6 ] )
;=> (1 2 3 4 5 6)

You could wrap it into a function if you want, but it hardly seems necessary. 