> Do you all think we should simply make it require three parameters instead of variable number of parameters?

Yes. Let's not support optional parameters for any function without a strong motivation. Often this kind of thing is leftover in code because interfaces have changed over time. This code is fresh and clean and likely doesn't need optional parameters.