type kind: [tx, rx]; struct packet { kind; size: byte; keep size == get_size(kind); };