Closed
Description
I think this is because our logic to determine if we need required parameters in protocol methods looks to see if the parameter types match. If all parameters are optional, then the type matching shouldn't matter, and the protocol method should have at least the first parameter be required.