import public Data.List.Lazydata StringIterator : String -> TypewithString : (str : String) -> ((1 _ : StringIterator str) -> a) -> awithIteratorString : (str : String) -> (1 _ : StringIterator str) -> (String -> a) -> aRuns the action `f` on the slice `res` of the original string `str` represented by the
iterator `it`
data UnconsResult : String -> TypeEOF : UnconsResult strCharacter : Char -> (1 _ : StringIterator str) -> UnconsResult struncons : (str : String) -> (1 _ : StringIterator str) -> UnconsResult strfoldl : (accTy -> Char -> accTy) -> accTy -> String -> accTyunpack : String -> LazyList Char