I work in an embedded domain, and use a Rust Enum to represent the Fault State of the program, where this enum is placed at a special address in memory. I do this as there are a defined set of valid states, and allowing arbitrary states would be unsound (and can cause UB at the system domain level). However, a valid state is the state representing "No-Fault", which has the bit pattern 0. I wish to represent this state as the None Variant for an Option, and leave no variant on the discriminant 0. However, the current guidelines allows None to chose any invalid representation, rather than requiring zero. This leaves me the interesting position of forcing the only valid niche to be zero (causing the same soundness issue), or represent the "No Fault" state, as a Fault itself, which would be counterintuitive. This would seem to be a potentially common pattern, internally representing an empty state using a zero bit pattern
This is an immediate example which comes to mind for requiring Niche Variant Optimization to prefer the Zero state, rather than pick any one. This would apply if and only the zero bit pattern is an invalid state for the type, and would choose that pattern for the optimization. If the zero bit pattern is valid, I don't see a reason to prioritize any further niches, as few others would have the same applicability (the zero bit pattern is special in more cases).