structure predicate union