import inspect


def _first_param_empty(signature):
    """Check whether the first argument to this call is
    empty, ie. no with a default value"""
    try:
        first = next((signature.parameters.items()).__iter__())
        return first[1].default == inspect._empty
    except StopIteration:
        return True