For example:
(funcall (lambda (&optional &rest &rest &optional x) (list x)) 'a)
=> ((a))
Obviously here the &rest keyword "wins", but I think that's overly
confusing. Such an argument list is most likely a programmer mistake,
and should signal an error to make the programmer aware of the mistake.