/// Odd-length and non-ASCII hex used to slice past the end / mid-char and
/// panic, instead of returning the BadHex the type already defines. Both
/// reach here from yaml (`annotate_bridge`, where a parse failure is
/// supposed to warn and fall back to a default colour) and from the CLI
/// `--annotate` mini-DSL, so a panic takes down the whole flow.