I think the the thing that I get hung up on here is the idea that "all public methods must be exposed on a corresponding interface" as a commandment. That's my underlying questioning here.
I think this is just a natural continuation of the whole package split and separation between api/spi/internal. Via the API it should be possible to get references to internal API. unwrap is a way to programmatically unwrap to some provider specific API. IMO this is different to an explicit case which of course one can never prevent.
|