(defn ^Class unbox
"If the argument is a Class with a primitive equivalent, returns that,
otherwise returns the argument"
[c]
({Integer Integer/TYPE,
Long Long/TYPE,
Float Float/TYPE,
Short Short/TYPE,
Boolean Boolean/TYPE,
Byte Byte/TYPE,
Character Character/TYPE,
Double Double/TYPE,
Void Void/TYPE}
c c))