That's for .cmx, in this case you need both internal and public modules.

Do you have a use case where this behavior is problematic ?