Subject: | Union and Intersection should still allow constraint/inlined attributes |
Right now, if you try to define either of these attributes, U/I will fatally croak, despite the documentation implying that it's still allowed (even if it's a bad idea).
Use case: Two complex types that need some constraint/inlined optimization, but you still otherwise want to indicate that it really is a Union or Intersection of those types. This would give me the ability to optimize away while still having the proper validate_explain logic for those types.
I realize this is sort of like lying to validate/validate_explain, because it's not using the actual constraint/inlined to test the failure, but that's part of the reason why overriding those would still be a "bad idea". Caveat utilitor.