To clarify, the keywords are *never* optional (i.e., it is impossible to call the function without some value being passed to that keyword), but it is almost always "optional" to override them.