                      (let [result
                            (reduce intersection-with-identity
                                    (filter #(not (empty? %))
-                                           [(get it2lex (get-in spec [:italiano :italiano] ::undefined))
-                                            (get pred2lex (get-in spec [:synsem :sem :pred] ::undefined))
-                                            (get aux2lex (get-in spec [:synsem :aux] ::undefined))
-                                            (get cat2lex (get-in spec [:synsem :cat] ::undefined))
-                                            ]))]
+                                           (concat
+                                            (map (fn [path]
+                                                   (get (get indices path)
+                                                        (get-in spec path ::undefined)))
+                                                 [[:italiano :italiano]])
+                                            [(get pred2lex (get-in spec [:synsem :sem :pred] ::undefined))
+                                             (get aux2lex (get-in spec [:synsem :aux] ::undefined))
+                                             (get cat2lex (get-in spec [:synsem :cat] ::undefined))
+                                             ])))]
                        (log/debug (str "indexed size returned: " (count result)))
                        result)))
                        

        aux2lex (map-subset-by-path lexicon-for-generation [:synsem :aux])
        pred2lex (map-subset-by-path lexicon-for-generation [:synsem :sem :pred])
        cat2lex (map-subset-by-path lexicon-for-generation [:synsem :cat])
        it2lex (map-subset-by-path lexicon-for-generation [:italiano :italiano])]
    {:name "medium"
     :generate {:lexicon lexicon-for-generation}
     :grammar grammar

                     (log/debug (str "cat2lex: " (count
                                                  (get cat2lex (get-in spec [:synsem :cat]
                                                                       ::undefined)))))
                     (log/debug (str "pred2lex: " (count
                                                   (get pred2lex (get-in spec [:synsem :sem :pred]
                                                                         ::undefined)))))
