Aren't we supporting both keywords and strings as map keys in the document being validated?  Perhaps something like:

```clojure
(or (contains? instance property-name)
    (contains? instance (keyword property-name)))
```