The form of an empty fspec returns {{nil}} at {{:args}} and {{:fn}}:
(s/form (s/fspec))
=> (clojure.spec.alpha/fspec :args nil :ret clojure.core/any? :fn nil)
The problem is, that the specs from CLJ-2112 don't validate that form. I suggest to implement * of {{fspec-impl}} like that of {{map-spec-impl}} which omits {{nil}} values.
Patch: clj-2368.patch