     (assert (= @s (reverse v))))
   
   ;; delay
-  (let [d (delay (. (js/Date.) (getTime)))]
-    (assert (false? (realized? d)))
-    (let [d2 (. (js/Date.) (getTime))]
-      (assert (> d2 (deref d))))
-    (assert (true? (realized? d)))
-    (let [d3 (deref d)]
-      (assert (= (deref d) d3))))
+  ;; (let [d (delay (. (js/Date.) (getTime)))]
+  ;;   (assert (false? (realized? d)))
+  ;;   (let [d2 (. (js/Date.) (getTime))]
+  ;;     (assert (> d2 (deref d))))
+  ;;   (assert (true? (realized? d)))
+  ;;   (let [d3 (deref d)]
+  ;;     (assert (= (deref d) d3))))
 
   ;; assoc
   (assert (= {1 2 3 4} (assoc {} 1 2 3 4)))

  supplied defaults to, and modifies, the global hierarchy."
  ([tag parent]
     ;; (alter-var-root #'global-hierarchy underive tag parent)
     (swap! global-hierarchy derive tag parent) nil)
  ([h tag parent]
    (let [parentMap (:parents h)
	  childsParents (if (parentMap tag)

  (assert (= :a-return (foo :a)))
  (assert (= :default-return (foo 1)))

  ;; (defmulti area :Shape)
  ;; (defn rect [wd ht] {:Shape :Rect :wd wd :ht ht})
  ;; (defn circle [radius] {:Shape :Circle :radius radius})
