I've uploaded what I think is a worthy successor for Kazu Yamamoto's Haskell `dns` library.
It has some possibly interesting design elements that the announcement highlights.
If you're curious take a look. I'm open to questions.
The mundane extension mechanism is that applications can extend the resolver configuration at runtime by
registering a new or override resource record data type.
Somewhat more interesting is that existing resource record data types whose data models are designed for extensions (e.g. HTTPS / SVCB) also support a similar
type-driven or
value-driven interface to expand what they can represent.
Naturally there are State monads making encoding and decoding be robust, painless and performant.