I hear you :)
There is a war going on between the two world views of "full access/user responsible for not using the right API" vs "limited acces/platform responsible for not exposing the wrong API".
The problem is that the current notion in java world of runtimes and tooling doesn't provide a good mechanism to serve both sides well.
Personally i'm on your side of wishing transparency before limited access but also understand users are baffled/annoyed when we tell them they used internal API without realizing it.
I hope we can find a way to easily make easy debugging and introspection possible.
More suggestions and reason/arguments for both sides are very much welcome.