Iterable signals can be created by extension or method and implement the Iterable interface.
final iterable = () sync* {...}; final s = iterableSignal(iterable);
final iterable = () sync* {...}; final s = iterable.toSignal();