@classmethod
def range(cls, from_=1, to=None, step=1):
    """
        Returns an iterator over specified comics.

        Use negative numbers to specify from the end.

        :param int from_: The comic to start from. Defaults to the first.
        :param Optional[int] to: The comic to end by (exclusive). Defaults to last + 1.
        :param int step: The step amount. Defaults to one.
        :return: A range over the requested comics.
        """
    if to is None:
        if step < 0:
            to = 0
        else:
            to = cls.latest() + 1
    return range(from_, to, step)
