reify
(reify Protocol (method [target & args] body...) ...)
Answers one fresh dispatch value per evaluation with a row per method in each
protocol's table: a single-shot map plus methods (never proxy, which stays the
java: surface). Each instance dispatches through its own tag, so two instances
are never = to each other, like the oracle; = is identity otherwise. Method
groups stand under protocol names, like extend-type.