Provide alternative stream generating methods that allow a termination criteria such as ``` streamUntil streamWhile streamUntil(time) ```