Pop an item off the stack.

        Note: This function is optimized for speed over readability.

def pop(self,
            num_items: int,
            type_hint: str) -> Union[int, bytes, Tuple[Union[int, bytes], ...]]:
        """
        Pop an item off the stack.

        Note: This function is optimized for speed over readability.
        """
        try:
            if num_items == 1:
                return next(self._pop(num_items, type_hint))
            else:
                return tuple(self._pop(num_items, type_hint))
        except IndexError:
            raise InsufficientStack("No stack items")