      (valAt [this k] (get specs k))
      (valAt [_ k not-found] (get specs k not-found))
 
+     Specize
+     (specize* [s] s)
+     (specize* [s _] s)
+       
      Spec
      (conform* [_ f] (if (ifn? f)
                        (if (identical? f (validate-fn f specs *fspec-iterations*)) f ::invalid)

  "Do not call this directly, use 'spec' with a regex op argument"
  [re gfn]
  (reify
   Spec
   (conform* [_ x]
             (if (c/or (nil? x) (coll? x))

     (not (pvalid? pred x))
     (explain-1 kform pred path via in x)

     (c/and count (not= count (bounded-count count x)))
     [{:path path :pred `(= ~count (c/count ~'%)) :val x :via via :in in}]

