                  (if (not (= :fail result))
                    result
                    spec))
-
                root-spec
                (let [unif
                      (unify spec

  (let [generated (generate spec model)]
    (u/get-in generated path ::none)))

;; (take 10 (generate-for-verbcoach))
(defn generate-for-verbcoach 
  "generate sentences efficiently given specific constraints."
  [& [spec]]

  (let [example-verbs #{"arrabbiarsi" "chiamarsi" "dormire" "fermarsi" "parlare" "sedersi"} 
        create-index-fn
        (fn []

                 (if (not (= :fail unif))
                   unif
                   spec))
               chosen-spec (unify root-spec tense-spec)]
           (target-generation chosen-spec (create-index-fn) model)))))))



