            (or base-system-builder (new-system))
            key-factoryfn-argspecs-list)))
 
-(defn system-destructor
+(defn- system-destructor
   "given a system (including the ::system key) create a
    system-destructor which will apply the individual object
    destructors for all the objects in the system in

                        {:state st
                         :error e}))))))

(defn construct-obj
  [factory-fn arg-specs]
  (with-context config-ctx
    (mlet

                        {:state st
                         :error e}))))))

(defn- m-destructor
  "returns a monadic value which destroys key
   k and removes it from the system state"
  [k destructor-fn]
