fn take_till0<P, I: StreamIsPartial + Stream, E: ParserError<I>, const PARTIAL: bool>( input: &mut I, predicate: P, ) -> PResult<<I as Stream>::Slice, E>where P: Fn(I::Token) -> bool,