A enum which describes how attributes should be handled when attempting to merge similar protocols.
This enum may take values of
ExactlyEqual: This attribute must be exactly equal between two protocols for them to be able to merge.
Custom: This attribute will be ignored by the built-in merging code such that user specified behavior can be implemented.
Initialize self. See help(type(self)) for accurate signature.