(defn explode-num-to-digits
"Given a number N, returns a list of its separate digits.
Throws IllegalArgumentException is N if not a number."
[N]
(try
(if (number? N)
;; Does this one-liner need documentation or is it clear enough?
(map #(Character/digit % 10) (str N))
;; else...
(throw (IllegalArgumentException. "Input is not a number")))))