Я не уверен, что понял, как правильно определять частные функции. Когда я пишу пакетную математику, я просто делаю следующее:
BeginPackage["myPackage`"]
myPublicFunction::usage="myPublicFunction blahblahblah";
Begin["Private"]
myPrivateFunction[input_]:= ... ;
myPublicFunction[input_]:= ... ;
End[]
EndPackage[]
Это правильный способ или я что-то упускаю?