public some_name marks some_name as part of the public interface of a module. But, when some_name is function, does that mean that all methods of some_name are meant for public usage?
If the answer is yes, IMO that could be problematic, but perhaps it makes sense at least as a default. I assume it could still be overridden by explicit documentation?
If the answer is no, it would be good to add an additional feature to be able to mark individual methods as public.
In any case this should be clarified in the docs.