Returns *num* again if it is an instance of :py:class:`Number`, or uses all passed arguments to
    create one and returns it.

def ensure_number(num, *args, **kwargs):
    """
    Returns *num* again if it is an instance of :py:class:`Number`, or uses all passed arguments to
    create one and returns it.
    """
    return num if isinstance(num, Number) else Number(num, *args, **kwargs)