Decoded Ethernet II frame as produced by inetFrame.
The shape depends on etherType and, for the layers it selects, further
discriminator fields deeper in the stack; narrow the union with
property-existence checks ("protocol" in payload, "srcPort" in payload, …) when reading. Frames whose tag has no matching coder surface
their payload as a raw Uint8Array.