    found-packages
    absent-specs
    clauses]
-  (debug clauses)
   (if (empty? clauses)
     [:successful (set (vals found-packages))]
     (let [fclause (first clauses)

             [requirement]
             (let [{status :status id :id spec :spec} requirement
                   present-package (get present-packages id)]
               (debug requirement)
               (debug rclauses)
               (debug present-package)
               (cond
                 (not (nil? present-package))
                 (do
                   (debug (or (and (= status :absent)
                                  (not (safe-spec-call spec present-package)))
                             (and (= status :present)
                                  (safe-spec-call spec present-package))))
                   (when
                       (or (and (= status :absent)
                                (not (safe-spec-call spec present-package)))

                      present-packages
                      found-packages
                      absent-specs
                      rclauses))
                 (= status :absent)
                 (resolve-deps
                  repo
