 
     (is (thrown-with-msg? clojure.lang.ExceptionInfo
                           #"Value does not match schema: \{:foo missing-required-key\}"
-                          (s/validate {:foo (defaulted-maybe s/Int 10)}
+                          (s/validate {:foo (defaulted-maybe Number 10)}
                                       {})))
 
     (is (= {:foo 10}

       :foo (s/required-key :foo)))

(deftest strip-unknown-keys-test
  (let [schema {(s/required-key :foo) s/Int
                (s/optional-key :bar) s/Int
                :baz s/String}]
    (is (= {:foo 1
            :bar 3
            :baz 5}

                                        :baz "30s"})))))

  (testing "conversion with an optional and a maybe"
    (let [schema {:foo String
                  :bar Number
                  (s/optional-key :baz) (s/maybe Period)}
          result {:foo "foo"
                  :bar 10
