      system
      (clojure.set/difference all-sets all-elements))))
 
-(defn compute-alternatives [system dispatch-state args-memberships]
+(defn compute-specific-function [system dispatch-state args-memberships]
   (let [arity (count args-memberships)
         system (add-set-canonical-elements
                 (transduce cat

                               (match-error-map
                                arity
                                matching-alternatives)))
      :default (apply (-> frontier
                          first
                          :fn)
                      args))))

(defn dispatch-root [system dispatch-state]
  (fn [& args]

        frontier (pareto/elements (reduce pareto/insert
                                          (pareto/frontier alt-dominates?)
                                          matching-alternatives))]
    (cond
      (empty? frontier) (throw (ex-info "No matching set-fn for this arity."
                                        (match-error-map
