'Overrides the base implementation for combining two restrictions, of
which the left side is a _UnionRestrictions.'

def __or__(self, other_restriction):

    if isinstance(other_restriction, _UnionRestrictions):
        new_sub_restrictions = (self.sub_restrictions + other_restriction.sub_restrictions)
    else:
        new_sub_restrictions = (self.sub_restrictions + [other_restriction])
    return _UnionRestrictions(new_sub_restrictions)
