        (is (read-config source {:profile :relative-abs}))
        (is (read-config source {:profile :resource :resolver resource-resolver}))
        (is (read-config source {:profile :file :resolver root-resolver}))
-       (is (read-config (-> source slurp java.io.StringReader.)
+       (is (read-config (-> source slurp string-reader)
                         {:profile :relative-abs}))
        (is (read-config source {:profile  :map
                                 :resolver {:sub-includes (io/resource "aero/sub/includes.edn")

  (let [config (read-config "test/aero/config.edn")]
    (is (= nil (config :falsey-user-return)))))

#?(:clj
   (deftest ref-in-set-test
     (is (= #{10} (:bar
                    (read-config (java.io.StringReader.
                                   "{:foo 10 :bar #{#ref [:foo]}}")))))))

(deftest or-incomplete-child
  (let [config-str "{:x \"foo\"

               (::foo
                 (meta
                   (read-config
                     (string-reader
                       (binding [*print-meta* true]
                         (pr-str (with-meta ds {::foo ds}))))))))
    []
    {}
    #{}
