## Description
Originally, I had just thrown an `Arc` around `WarningFilters`... but it
felt a bit silly since I never really needed to modify them. I wanted to
do something that leveraged their immutability. So I went a bit
overboard with this somewhat shoddy intern table. Seems to work fine
though :)
## Test plan
- ran tests
---
## Release notes
Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.
For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.
- [ ] Protocol:
- [ ] Nodes (Validators and Full nodes):
- [ ] Indexer:
- [ ] JSON-RPC:
- [ ] GraphQL:
- [ ] CLI:
- [ ] Rust SDK:
- [ ] REST API: