defprotocol doesn't resolve tag classnames
defprotocol doesn't resolve tag classnames, this results in exceptions being thrown when the declared protocol uses as a tag an imported class that is not imported in the namespace that uses it.
-4 uses compiler functions that are already public and used in defn, and adds regression test for longs hinting
Seems like there should be tests to check these cases
resolve is not correct, it breaks special type hints like `longs`:
-3 patch uses resolve instead of opening up the compiler, per Rich
Patch updates for current master, retains attribution.