pub fn generic_field<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>(
    i: &'a [u8]
) -> IResult<&'a [u8], (u16, &[u8]), E>