     [clojure.data.json :as json]
     [clojure.string :as string]
     [clojure.tools.logging :as log]
-    [dag-unify.core :refer [get-in strip-refs serialize unify ref?]]
+    [dag-unify.core :refer [get-in merge strip-refs serialize unify ref?]]
     [babel.engine :as engine]
     [babel.korma :as korma]
     [korma.core :refer [exec-raw]]))

        target-language-sentence (engine/generate spec target-language-model :enrich true)
        
        target-language-sentence (if (:morph-walk-tree target-language-model)
                                   (do
                                     ((:morph-walk-tree target-language-model) target-language-sentence)
                                     target-language-sentence)
                                   (do (log/warn (str "there is no morph-walk-tree function for the model:"
                                                      (:name target-language-model) " of language: "
                                                      (:language target-language-model)))

        no-target-language (if (nil? target-language-model)
                             (throw (Exception. "No target language model was supplied.")))

        ;; 1. generate sentence in target language.
        ;; resolve future
        target-language-model (if (future? target-language-model)
                                @target-language-model
