fn take_<I, O, E: ParserError<(I, usize)>, const PARTIAL: bool>( bit_input: &mut (I, usize), count: usize, ) -> Result<O, E>where I: StreamIsPartial + Stream<Token = u8> + Clone, O: From<u8> + AddAssign + Shl<usize, Output = O> + Shr<usize, Output = O>,