Good question. I used to be optimistic as well but years later I think the only way to do it would be to vendor the implementation of :sets but just replace the signatures to not have opaque. Not a very enticing option either.
Because even after we removed the opaque from our own types and signatures, we’re still getting errors reported because dialyzer knows that the internals are calling :sets and the opaqueness propagates






















