 
   (description [node] (str "QueryNode -- " param-keys)))
 
+;; Record representing alpha nodes in the Rete network,
+;; each of which evaluates a single condition and
+;; propagates matches to its children.
 (defrecord AlphaNode [condition children activation]
   IAlphaActivate
   (alpha-activate [node facts memory transport]

                             (= \? (first (name item))))] 
              (keyword  item))))

(defrecord AccumulatorDef [initial-value reduce-fn combine-fn convert-return-fn])

(defn- construct-condition [condition result-binding]

(defprotocol IRuleSource
  (load-rules [source]))

;; Protocol representing a single condition in
;; a rule or a query.
(defprotocol ICondition
  ;; Returns a key uniquely identifying the condition.
  (condition-key [condition])
