Create composite types where all subtypes must be satisfied