fn foo() -> NonZero<usize> is mutaned to return a constant like NonZero::new(1) which will never compile because NonZero::new() returns an Option<NonZero<_>>. It needs an .unwrap() there!
Not sure how smart the type-specific mutation mechanism is but adding an .unwrap() for NonZero types could suddenly make a lot more mutants viable.