//@ for `BigInt`. Rust does not have function overloading (i.e., it will not dispatch to different
//@ functions depending on the type of the argument). Instead, one typically finds (or defines) a
//@ trait that catches the core characteristic common to all the overloads, and writes a single
//@ for `BigInt`. Rust does not have function overloading (i.e., it will not dispatch to different
//@ functions depending on the type of the argument). Instead, one typically finds (or defines) a
//@ trait that catches the core characteristic common to all the overloads, and writes a single