                              (zipmap dependencies dependencies))]
       (reify
         yadic/Activator
-        (activate [this container]
+        (activate [_this container]
           (->> dependencies-map
                (map (fn [[alias k]]
                       [alias (get container k)]))

  (stop [^AutoCloseable this]
    this))

(defn- components->container* [m]
  (yadic/->container
    (reduce-kv
      (fn [as k x]
        (assoc as
          k (cond (satisfies? yadic/Activator x) x
                  (satisfies? Lifecycle x) (component->activator x [])
                  true (throw (UnsupportedOperationException.)))))
      (yadic/->activators)
      m)))

(defn start-system [system]
  (yadic/eagerly-instantiate (if (instance? Container system)
                               system
                               (components->container* system))))

(defn stop-system [^AutoCloseable system]
  (.close system))

(defn system-map [& keyvals]
  (components->container* (apply hash-map keyvals)))

                 component)
               (start)))

        (close [_this instance]
          (stop instance))))))

(defn using [component dependencies]
