Rust's primitive types [allow](https://doc.rust-lang.org/std/primitive.i32.html#impl-Add%3C%26i32%3E-for-%26i32) `i32 + i32`, `i32 + &i32`, `&i32 + i32`, `&i32 + &i32`. It'd be nice if `ModInt` allows them too.