struct Link;
typedef sequence DescendantSeq;
union uLink;
typedef sequence uDescendantSeq;
struct Link {
short some_value;
DescendantSeq descendants;
uDescendantSeq udescendants;
};
union uLink switch (boolean) {
case TRUE:
DescendantSeq descendants;
case FALSE:
uDescendantSeq udescendants;
};