Why is it that defprotocol ignores type hints, while definterface
deals with them? Both macros expand to a call to
gen-interface--defprotocol just adds a bit more to that. I don't see
why it wouldn't be possible.
Is it just a historical artifact?
Protocols are for consumption by Clojure functions, which aren't
supposed to be statically typed; interfaces are for consumption by
Java classes, which are required to be statically typed.