There seems to be an inconsistency in Erlang docs which I found very confusing. Here is an example:
In stdlib's string module,
Returns the number of characters in the string.
In the edoc module,
Runs EDoc on a given set of source files. See run/3 for details, including options.
In the first case, only the parameter 'String' is shown in the argument list, and the argument types are described later.
In the second case, the parameter name and the parameter type(s) are smushed together with the "::" connector. It took me a while to figure out what the "::" meant in this context.
Does anyone know if there is some sort of principle behind this? Is there some Erlang doc page that explains the various documentation conventions? I have looked around the online docs and haven't spotted such an explanation. If you haven't seen it before, it is not obvious.