With $1$ parity bit we can detect all 1-bit errors. Show that at least one generalization fails, as follows:
(a) Show that if messages $m$ are $8$ bits long, then there is no error detection code $e = e(m)$ of size $2$ bits that can detect all $2$-bit errors. Hint: Consider the set $M$ of all $8$-bit messages with a single $1$ bit; note that any message from $M$ can be transmuted into any other with a $2$-bit error, and show that some pair of messages $m_{1}$ and $m_{2}$ in $M$ must have the same error code $e$.