   (when (not-empty arglists)
     `(defn ~(symbol (str prefix new-name))
        ~@(for [args arglists]
-           (let [arglist-split (dissect-arglist args)]
-             `(~args
-               (apply ~(symbol orig-name) ~(dissect-arglist args))))))))
+           `(~(dissect-arglist args)
+             (apply ~(symbol orig-name) ~(dissect-arglist args)))))))
 
 ;;;
 

    arglist
    (let [[a b] (split-with #(not= '& %) arglist)]
      (if (not-empty b)
        `(vec (list* ~@(map dissect-arglist a)
                     ~(dissect-arglist (second b))))
        (vec (map dissect-arglist arglist))))))

(defn- function-signatures

                         Lattice conexp.fca.lattices.Lattice
                         Context conexp.fca.contexts.Context
                         tag))))]
    (for [arglist arglists]
      [new-name
       (vec (map tag (dissect-arglist arglist)))
       return])))

(defn- generate-definition
  "Generates function definition with name new-name, calling orig-name
