pub fn collect_some<C, I, O, P>(input: &mut Pear<I>, p: P) -> Result<C, I>where C: Collection<O>, I: Input, P: FnMut(&mut Pear<I>) -> Result<O, I>,
Parses as many p as possible until EOF is reached, collecting them into a C. Fails if p ever fails. C is not allowed to be empty.
p
C