Is the `|undefined` strictly required here?  My impression was that the compiler allowed `undefined` for `function` returns and params.