<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def pop(self, index=-1):
 """See list.pop."""

        if not isinstance(index, int):
            if PY2:
                raise TypeError('an integer is required')
            raise TypeError("'str' object cannot be interpreted as an integer")
        length = len(self)
        if -length <= index < length:
            self._notify_remove_at(index)
        return super(ObservableList, self).pop(index)