 
 (def rus-cons (set "лмнрцкгзвпджчшстбфщ"))
 (def dubcon-pat (re-pattern (++ ["([" (++ rus-cons) "])\\1"])))
-(defn dubcon-alg [w [m m1]]
+(defn dubcon-alg [w [m1 m2]]
   (let [
-        m        (++ [m m1])        
+        m        m1 ; (++ [m1 m2])
         ix (.indexOf w m)
         first-l (first m)
-        first-s (str first-l)]
+        first-s (str first-l)
+        ]
     (if (= ix 0) m
         (if (= (count w) (+ ix 2))
           first-s
           (cond
-           (rus-cons (nth w (+ ix 2))) first-s
-           ((set "бвфрлг") first-l) first-s
-           ((set "жтдзс") first-l) m
-           (and (>= (- ix 2) 0) (= (nth w (- ix 2)) \*) ((set "кнмп") first-l)) m
-           :else first-s
-           )))))
+            (and (>= (- ix 2) 0) (= (nth w (- ix 2)) \*) ((set "кнмп") first-l)) m
+            (rus-cons (nth w (+ ix 2))) first-s
+            ((set "бвфрлг") first-l) first-s
+            ((set "жтдзс") first-l) m
+            :else first-s
+            )))))
 
 (defn dubcon
-  "Cases like [грамм русский аккуратный коммунист рассада]"
+
+  ^{:doc "Cases like [грамм русский аккуратный коммунист рассада]"
+    :user/comment "this is the best fn ever!"}
   [word]
   (-- word dubcon-pat (partial dubcon-alg word)))
 
-(def fns [hard-pron unpal-e cluster-assim end-assim reg-assim-repl reg-pal ogo-ovo chto-trans dash-rep dubcon])
+
+(def fns [[hard-pron "hard-pron"] [unpal-e "unpal-e"] [cluster-assim "cluster-assim"] [end-assim "end-assim"] [reg-assim-repl "reg-assim-repl"] [reg-pal "reg-pal"] [ogo-ovo "ogo-ovo"] [chto-trans "chto-trans"] [dash-rep "dash-rep"] [dubcon "dubcon"]])
+(def fns-mapped
+  (map
+   (fn [[fn-fn description]]
+     (fn [word]
+       (let [word-out (fn-fn word)] (do
+                                      ; (println word-out " : " description)
+                                      word-out))))
+   fns))
 
 (defn ^:export orpho-single [word]
-  (reduce #(%2 %1) word fns))
+  (reduce #(%2 %1) word fns-mapped))
 
 ;;;;;;;;;;;; This file autogenerated from src/cljx/orphoep.cljx

  "Words like [здесь, зонтик истинный все творец]"
  [word]
  (-- word reg-pal-pat (fn [match]
                         (let [res                            match]
                           (do
                             (++ \ь res))))))


  (if (list? pat)
    (reduce #(-- %1 %2 rep) val pat)
    (-- val pat rep)))

(defn unpal-e
  "Cases like [шт*ейгер брет*елька модерн денди дельта]"
