    a Deferred<[system-map, system]>, extract the system-map
    returning a Deferred<system-map>"
   [dsys]
-  (d/chain
-   dsys
-   (fn [[_ system]]
-     (system-map* system))))
+  #?(:clj
+     (d/chain
+      dsys
+      (fn [[_ system]]
+        (system-map* system)))))
 
 (comment
   (require '[deferst.system :as dfs])

   far been constructed.
   returns a Deferred<[_, system]>"
  [system-builder seed]
  (-> (run-state system-builder seed)
      (d/catch
          Exception
          (fn [e]
            (let [{st :state :as xd} (ex-data e)
                  sd (system-destructor st)]
              (d/chain
               (d/catch
                   (run-state sd st)
                   Exception
                   (fn [ue]
                     (throw
                      (ex-info "unwind failed after start-system! failed"
                               {:state st
                                :error e
                                :unwind-error ue}))))
               (fn [_]
                 (throw
                  (ex-info "start-system! failed and unwound"
                           {:state st
                            :error e})))))))))
(defn- system-map*
  [system]
  (filter-system-map system))

   config-ctx value fns) stop the system, running
   destructor functions in reverse order to object construction"
  [dsys]
  #?(:clj
     (d/chain
      dsys
      (fn [[_ system]]
        (stop-system* system)))))

(defn start-system!
  "given a system-builder, start a system with the seed config
