singleton x creates a generator containing only x.
find gen ~f finds the first item for which f item is true.
find gen ~f
Generates all elements from generator and returns the resulting list.
map' t f creates a new generator that with the result of the deferred (f v),
for each element v of t.
map' t f
map t f creates a new generator that with one element, (f v), for each
element v of t.
map t f
append t1 t2 creates a new generator that first echos t1 until it is
done, then echos t2
append t1 t2
concat t creates a new generator echos in sequence
each generator generated by t