When reading syntax quote on keyword,string or number etc,it returns the form as result directly. Read it in:
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/LispReader.java#L844-847
`
   else if(form instanceof Keyword
   || form instanceof Number
   || form instanceof Character
   || form instanceof String)
   ret = form;
`
But missing check if it is a nil,regular pattern or boolean constants.
After patched:
`
else if(form == null
   || form instanceof Keyword
   || form instanceof Number
   || form instanceof Character
   || form instanceof Pattern
   || form instanceof Boolean
   || form instanceof String)
ret = form;
`
It's a little patch, i am not sure if it is worth a try.