def take_first(*options):
    """
    Take the first non-None option.
    """
    assert all(o is None or inspect.isfunction(o) for o in options), options
    for o in options:
        if o is not None:
            return o

    Take the first non-None option.
    
numba/experimental/jitclass/overloads.py