If s/form is applied to s/keys*, it returns a value completely different from the original form:
user=> (s/form (s/keys* :req-un [::x ::y]))
(clojure.spec/& (clojure.spec/* (clojure.spec/cat :clojure.spec/k clojure.core/keyword? :clojure.spec/v clojure.core/any?)) :clojure.spec/kvs->map mspec__14270__auto__)
Thanks for logging - I've been working on an approach for this one but never got around to actually logging it.