What benefits does it have to bind to a specific implementation that is
not
guaranteed to stay as it is?
If used properly, the final keyword should be for immutable implementations. Otherwise, it could be a questionable use case.
I think all the current uses of "final" in MW core are questionable, then...
If somebody is volunteering to do the necessary work in the CI
infrastructure, fine.
To me it just seems like just removing the final modifier is the easier
and
cheaper solution, and doesn't have any big downside.
It depends on how hard is it to set up the library. Ideally, we only have to find a place where to enable it, nothing more. And I also think it won't harm existing tests in any way. It doesn't even require a CI change. The only possible drawback is performance / opcache integration pointed out by @simetrical. Let me try to upload a test change and see how it goes, tonight or tomorrow.
Cool, thank you for looking into this!
Sorry if I sounded very negative. I'm trying to be pragmatic and avoid extra effort where it is not needed. I appreciate your help with evaluating this!