> You can't make your own types with niches in stable Rust
You can, provided they are wrapper around NonZero types. See https://docs.rs/nonmax/latest/nonmax/
Hence my comment before NonZero types or Rust nightly.