The protocol I am implementing has certain quirks. It is a opcode u16 based protocol, so first 2 bytes define the rest, but: Some packets can be embebbed into other packets and depending on that, a CRC is added at the end or not. Does `protocol` has a easy way to map this? Is there a way that I can provide custom `settings` or `hints` ?