I eventually figured something out but I don’t like it much.
Complex field values (i.e. field values which are kind of like arrays) are accessed like this: [[+complexfield0]], [[+complexfield1]] etc. And NOT, as the docs suggest like this: [[+complexfield.0]], [[+complexfield.1]].
So, to summarize: if you have something in your registration form like this:
<select value="" size="5" multiple="multiple" id="languages" name="languages[]">
<option value="French">French</option>
<option value="English">English</option>
<option value="Spanish">Spanish</option>
<option value="Dutch">Dutch</option>
<option value="Chinees (Cantonese)">Chinees (Cantonese)</option>
<option value="Chinees (Mandarin)">Chinees (Mandarin)</option>
</select>
And the user selects French and English, you will have the render this in the user’s profile page like this:
[[+languages0]], [[+languages1]]
Of course, this means that you’ll first have to figure out how many values the user selected. This all seems very cumbersome to me. Isn’t there a better way?