            [org.jsoup.nodes Element]
            [org.jsoup.select Elements]))
 
-(declare ->schema schema->fn pull pull? spec ->spec)
+(declare ->schema schema->fn schema? pull spec ->spec)
 
 (s/def ::schema #(satisfies? schema/Schema (->schema %)))
 


(defrecord Spec [schema extr])

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

      '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)

