It's just opinated. IMO the method signature should only contain mandatory fields. When there're some of them that are mutually exclusive, I consider them as optional because it can be nil, so I prefer to use a Hash parm so they behave as the rest of the optional parms.