stricter tag validation: throws on (defn ^long a [])