(defn qualify-arglists [arglists]
(vary-meta arglists merge
(when-let [t (:tag (meta arglists))]
{:tag (if (or (string? t)
(u/specials (str t))
(u/special-arrays (str t)))
t
(if-let [c (maybe-class t)]
(let [new-t (-> c .getName symbol)]
(if (= new-t t)
t
(with-meta new-t {::qualified? true})))
t))})))