       'maybe (schema->fn (:schema schema))
       nil)))
 
+(defn schema? [x]
+  (:schema x))
+
 (defn pull [x fns]
   ((apply comp (reverse fns)) x))
 
 (defn spec [schema & extr]
   (Spec. schema extr))
+
+(defn schema [schema]
+  (Schema. schema))
 
 (def ->spec spec)
 

           [org.jsoup.nodes Element]
           [org.jsoup.select Elements]))

(declare ->schema schema->fn pull pull? spec ->spec)

(s/def ::schema #(satisfies? schema/Schema (->schema %)))



(defrecord Spec [schema extr])

(defrecord Schema [schema])

(defprotocol Extractable
  (extract [_ _])
  (text [_])
