[`AsPrimitive`](https://docs.rs/num/0.1.42/num/cast/trait.AsPrimitive.html) should be added as a trait bound to [`PrimInt`](https://docs.rs/num/0.1.42/num/trait.PrimInt.html), should it not?