Return a set of flags that has all the flags set in this or in other but not in both.
this
other
Flags<T> operator ^(Flags<T> other) => Flags(value ^ other.value);