                                            (map (fn [number]
                                                   (let [spec (unify spec
                                                                     {:comp {:synsem {:agr {:number number}}}})]
-                                                    (log/debug (str "generating from spec: " spec))
+                                                    (log/debug (str "generating from spec: " spec "; input-spec was:" input-spec))
                                                     (try
                                                       (process [{:fill-one-language
                                                                  {:count 1

                      ;;  {:synsem {:subcat '()}} that makes us try to generate
                      ;; an entire sentence.
                      (throw (Exception. message))))))
        ;; TODO: add warning if semantics of target-expression is merely :top - it's
        ;; probably not what the caller expected. Rather it should be something more
        ;; specific, like {:pred :eat :subj {:pred :antonio}} ..etc.
        source-language-sentence (engine/generate {:synsem {:sem semantics}}
                                                  source-language-model :enrich true)

        source-language-sentence (if (:morph-walk-tree source-language-model)
                                   (merge ((:morph-walk-tree source-language-model) source-language-sentence)

        language (:language model)
        debug (log/debug (str "populate-with-language: spec: " spec "; language: " language))]
    (dotimes [n num]
      (let [sentence (engine/expression model spec :truncate-children false)
            ;; we don't want to truncate because we want to store the entire tree in the _structure_ and _serialized_ columns of the database,
            ;; so that we can search for them with specifications that might include :comp and :head search keys.
            ;; for example, (defn fill-language-by-spec) is passed a _spec_ param which, depending on the language's
            ;; writer implementation (e.g. babel.italiano/writer searches based on :comp and :head).
            fo (:morph model)
            surface (fo sentence)]
        (if (empty? surface)
