pub fn read<P, O, E, R>(parser: P, rdr: R) -> Result<O, E>where R: Read, E: From<ErrorKind> + From<Error>, P: Fn(&[u8]) -> IResult<&[u8], O>,