I'm not a huge fan of having mutually exclusive arguments. It hints that you are attempting to squeeze two interfaces into one.