`Invalid` trait for space optimization of enums.

Proposing to add `Invalid` trait and use it for `Option<T>` space optimization.