def __add(self, val):
if not isinstance(val, range_t):<EOL><INDENT>val = {self.__val_convert(val)} <EOL><DEDENT>else:<EOL><INDENT>val = val.toset()<EOL><DEDENT>__has = deepcopy(self.__has) <EOL>__has.update(val)<EOL>return __has<EOL>
Helper method for range addition. It is allowed to add only one compact subrange or ``range_t`` object at once.

Parameters
----------
val : int or tuple or list or range
    Integer or range to add.

Returns
-------
__has : set
    ``self.__has`` extended by `val`.