Too Long; Didn't Read
In Javascript, if a function has 4 parameters, and we only use 3, it's no big deal - Javascript just ignores the missing parameter and runs the function as if it is 'undefined` In TypeScript, an optional parameter cannot be followed by a required one. This may not be your desired behaviour, which is exactly why TypeScript has these controls in place - it can help prevent unwanted outcomes by requiring certain parameters. For example, if we wanted to make `c` optional on our original function, we could write the same code - and not get an error.