'May raise TypeError if we encounter an open-ended range
@param value: Is this in our ranges?
@type value: L{int}'

def __contains__(self, value):

    if self._noneInRanges():
        raise TypeError("Can't    determine    membership;    last    value    not    set")
    for (low, high) in self.ranges:
        if (low <= value <= high):
            return True
    return False
