IMO this is an artifact of having a single backend rather than conscious adoption of OpenSSL's behavior. I'd like to revisit it but I'd be concerned about building something complex for this without a second backend to use to check that our abstractions make sense.