<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def to_indexable(*args, **kwargs):
 """Ensure that all args are an indexable type. Conversion runs lazily for dask objects, immediately otherwise. Parameters args : array_like or scalar allow_scalars : bool, optional Whether to allow scalars in args. Default is False. """

    if kwargs.get("allow_scalars", False):
        indexable = _maybe_indexable
    else:
        indexable = _indexable
    for x in args:
        if x is None or isinstance(x, (da.Array, dd.DataFrame)):
            yield x
        elif is_dask_collection(x):
            yield delayed(indexable, pure=True)(x)
        else:
            yield indexable(x)