         verbs (get-iyye-verbs name)]
     (if (:UNKNOWN (first types))
       (if (:UNKNOWN (first verbs))
-        types
+        (list (first types))
         verbs)
       (if (:UNKNOWN (first verbs))
         types

        (save-iyye-builtin-type-to-db type)))))

(defn check-select-params [action params]
  "true if params matches action, false other ways"
  (let [act-params (:Types action)
        check-params-count
        (fn [p1 p2]
          (if (= "*" (last p2))
            (>= (count p1) (count p2))
            (= (count p1) (count p2))))
        expand-params (fn [p] (map #(map (fn [stype] (assoc stype :Param %)) (get-supertypes %))
                                   p))]
    (when (check-params-count params act-params)
      (let [params-types (for [cur params] (expand-params cur))
            act-params2 (take (count params-types) act-params)
            ;   vec-params (vec (map #(:Name (:name %)) params))
            pairs (map #(vector %1 (flatten  %2)) act-params2 params-types)
            check-pair (fn [t check]
                         (case t
                             :UNKNOWN (= :UNKNOWN check)

; Iyye - AI agent
; Copyright (C) 2016-2019  Sasha Yumzya

; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU Affero General Public License as
