Daemonset Spec maxSurge and maxUnavailable cannot be set at the same time?

Asking for help? Comment out what you need so we can get more information to help you!

Cluster information:

Kubernetes version: 1.22
Cloud being used: GKE/GCP
Installation method:
Host OS: COS

I have a question about the spec.updateStrategy.rollingUpdate.maxSurge field in the daemonset spec that went into beta in 1.22. The API reference docs mention that both maxSurge and maxUnavailable cannot be 0. The docs do not mention any other limitation for both those fields. But when I try setting both fields to a non zero value at the same time, I get this error:

# * spec.updateStrategy.rollingUpdate.maxSurge: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"33%"}: may not be set when maxUnavailable is non-zero

Is there anything mutually exclusive about the implementation of both these fields? Or why I cannot use both at the same time if there is no mention of that limitation in any of the docs?