So many notations
One of the things I like about Perl is it’s enthusiasm for embedding multiple little languages into the main language. Actually it’s more like they are all woven together. Erlang shares a bit of that, though it’s more adhoc. The result is that when you start reading Erlang code you discover all these different things are going on at the same time.
There is the usual code v.s. comments. There is no multiline comment syntax. Comments begin with a percent sign and run to the end of the line. It’s a convention enforced by all the editting modes that one, two, and three percents are implicitly at the level of line, statement, and file respectively. And file comments tend to be implicitly associated with the following code.
The comments are often written in the stylized documentation language. And the documentation language has a sublanguage that is wiki like, and some tags that document data types and function signatures. As far as I know things you say in the documentation about types and function signatures have no effect on the behavior of the program, i.e. like usual your comments can be lies.
In a manner that is reminiscent of C preprocessor’s use of hash, as in #define or #ifdef, the Erlang compiler uses a prefix dash on tags to mark up the code. Unlike the comments this markup does effect behavior. In addition to the kinds of things C does with it’s preprocessor (simple macros, conditional compilation, include files), the Erlang compiler uses these to define records, do some limited type declarations, imports and exports, and assert metadata about the file being compiled (i.e. version, author, module, etc). And finally this is were the behavior mechanism is.
Together this makes simple Erlang programs much more complex to read. The simplest program will usually have one or two statements in each of 3 notations: doc, Erlang, compiler annotations. And both the doc and compiler annotations have their own embedded micro languages for special functions.

I don’t know what’s going on in that example with the “%% userdevguid-begin rt_simple:types”?