It’s really cool that you decided to make this possible.
I wonder if maybe there is a more extensible approach?
What comes to mind is a compile-time configuration option :exclude_protocol_implementations with default []. If set to, e.g. [Gringotts.Money, Inspect, Jason.Encoder] then these 3 protocol implementations would not be defined.
For my case, I would then only need exclude_protocol_implementations: [Phoenix.HTML.Safe].
I think this approach will be easier for future customizations. Also the name exclude_protocol_implementations provides immediate insight into what is happening, even which file in the source code to check.
I left some comments on the commit, to illustrate what I’m thinking.
Thanks again!
P.S. This is not urgent at all. We are using a show_money view helper until something more elegant is possible. ![]()


















