remove all the ugly type-hinting, extend `LiteralPattern` to
`clojure.lang.ILookup`