On Cran packages that use non-api entry points are not allowed. I did not find a suitable definition what a non-api entry point is (in R or in general) and why packages that use them are not allowed on Cran:
(1) What is a non-api entry point?
(2) Why are packages that use non-api entry points not allowed on Cran?
(3) If this should not come up while answering (2): What are possible ramifications of using non-api entry points?
Thanks for any help!
A quick take:
Something not exported in a public header -- and the comments in the R header files generally give you an idea
Because R Core reserves the right to change behavior of non-API functions. If nobody uses them ( in public packages), then upon a change in behavior no (public) packages break.
You don't get your package onto CRAN, and it may break.