 
 (defn comparator_AZ_order [key1 key2]
   {:pre [ (assumedTrue (keyword? key1) (keyword? key2)) ]
-   } 
+   } 
+  (prn "comparatorAZ:" key1 key2 (keyword? key1) (keyword? key2)) 
   (compare key1 key2)
   )
 

    )

(defmacro assumedTrue
  [x & all]
  `(do 
;   (let [f# ~x eva# (eval f#)]
     (prn '~(rest &form))
  true)
;      (prn f# eva#)
;      (when-not eva#
;        (do
;          (throw 
;            (AssertionError. 
;              (str 
;                "assumedTrue failed " ;
;                (prn-str 
;                  f# 
;                  "was" 
;                  eva#)
;                )
;              )
;            )
;          )
;        )
;      (if ~(empty? all)
;        true
;        false
;        (assumedTrue ~(first all) ~(rest all))
;        )
;     )
  )

;(println *file*)


(defn 
  ^:private
add_new_key [quoted_key_name thekey]
  ( println "add_new_key: " quoted_key_name thekey)
  (swap! -allkeys 
         assoc2
         quoted_key_name thekey
