`|null` != optional parameter! The distinction is very important. Here, `string|null` means exactly what it says: the variable can be of two types, `string`, or `null`. The fact that `null` is the default value and can be omitted is another matter, for which there's no current documentation proposal I'm afraid (at least, as far as I know). It's very important to document this.