Maybe it's worth having a `spec_or_zero()` here that uses the `Zero` trait?