OK well when you find yourself using an underscore thing, there's two better choices: 1. put up a ticket on SQLAlchemy that this should be public in some way (I can easily add something public for this), or 2. re-implement it locally.  I need to be able to move around/remove/change/etc. anything `_Private` in SQLAlchemy across major versions.   When doing #1, if the feature is only added in the next major version, then you can rely on that API in the newer version and the existing `_underscore` version in the current version, as I usually only move/change underscore things across major versions.