This module does not seem as "internal" as other camlinternalModules. In particular, the make_printf function and the acc type could very well, and quite simply, be used in client code. Actually, I don't think the compiler generate references to this module.

It seems its interface could be cleaned up quite a bit. All char_set related functions seem to be used purely internally. heter_list could go to scanf.

What about renaming the module to Format_strings, and drop its "internal" status?

What is "internal" about this module is that it is subject to change without notice and without much consideration of backward compatibility. What you are asking for is legitimate but it has a cost in terms of maintenance burden.

I think we should at least wait until the module has become quite stable.

I'm certainly not asking for any compatibility guarantee, but I see a difference between internal (==> to be used by the compiler/stdlib only) and likely to change in the future (==> there are legitimate uses, but use at your own risk).