   ;TODO: allow invariants functions for each param and throw when any of them fail(obviously)
   ;TODO: ignore optional params that weren't passed on call
   ;TODO: throw when required params aren't passed on call
-  (clojure.pprint/pprint fxn_defBlock);firsta)
+  (clojure.pprint/pprint (get_fxn_defBlock));firsta)
   )
 ;)
 

                notnil? :all ;both spec and unspec
                notnil? :all-specified; :all-sac
                notnil? :except :unspecified
                ~(partial > 0) :except :specified
                (partial > 0) [:all [:not :specified] [:except [:a :c]] ]
                ]
   ;invariants ran over all specified params but not over the unspecified(and thus optional ones which have the default value assigned)

     )
(catch Compile$CompilerException c c))

;TODO: throw on dup keys; - this is already happening on "eval"

#_(
=> (defxn noes {:a ~(inc (+ 1 2)) :b firsta}
