unfoldr -text +containers

unfoldr :: (b -> Maybe (a, b)) -> b -> Seq a
containers Data.Sequence
Builds a sequence from a seed value. Takes time linear in the number of generated elements. WARNING: If the number of generated elements is infinite, this method will not terminate.