Actually, they are doc'd as api public.  The problem here is that there are two notions of visibility:

* Ruby's notion: private vs protected vs public. This affects whether you can call a method with an explicit receiver or not.
* API notion: private vs public: Things docs as api private are subject to change in minor or patch releases with no deprecation warnings or notices.  They are "off limits" for end users to use directly if they don't want their code breaking when they upgrade.  API public means we are committed to not breaking it in a minor or patch release as per SemVer.

Here we've got methods we'd like to be ruby private but API public.