Applying constraints to embedded union types - Ash Framework