Renaming to xor and making required().without() behave like xor