Open
Description
Describe the issue
Summary
Private base classes are problematic from a documentation PoV (see lengthy discussion at #15503). In the specific case of ConnectionStyle._Base and ArrowStyle._Base, the base class could be eliminated by moving its logic to the caller side, as was done for BoxStyle._Base in #17737. This would make it easier for third parties to implement their own ConnectionStyles/ArrowStyles as plain classes with a __call__
method.
Proposed fix
Deprecate ConnectionStyle._Base and ArrowStyle._Base, with the same logic-moving as in #17737.