let rec skip_whilei pred s = match peek s with | None -> () | Some a -> if pred (count s) a then (junk s; skip_whilei pred s) else ()