   )
 
 (get_fxn *fxn_defBlock_symbol* defBlock) ;(defmacro get_fxn_defBlock ...)
+(get_fxn *fxn_defBlockRaw_symbol* defBlockRaw) ;(defmacro get_fxn_defBlockRaw ...)
 ;(defmacro get_fxn_defBlock2
 ;  []
 ;  ;like get the value of <the symbol returned by *fxn_defBlock_symbol*>

  ;if you want some form to be evaluate then place ~ before it
  ;this is the defblock
  {;:something {:a ~(+ 1 2)}
   ;aliases are supported to allow later renaming the params used within the defblock without worrying that you forgot to rename all instances
   :aliases {;p1 p2 where p1 is parameter name used in here and p2 is the actual name the param has in the function body
             ;all names are keywords to allow evaluating the entire defblock and they are actually symbols inside the function body

;you need not bind this though, unless you really want to name it something
;but it won't clash with others, supposedly - there may be some case when it could clash let within a let
(def ^:dynamic *fxn_defBlock_symbol* (gensym 'fxn_defBlock))
(def ^:dynamic *fxn_defBlockRaw_symbol* (gensym 'fxn_defBlockRaw))


(defmacro get_fxn
