//@ The answer is already hidden in the type of `vec_min`: `v` is just borrowed, but
//@ the Option<BigInt> that it returns is *owned*. We can't just return one of the elements of `v`,
//@ as that would mean that it is no longer in the vector! In our code, this comes up when we update
//@ The answer is already hidden in the type of `vec_min`: `v` is just borrowed, but
//@ the Option<BigInt> that it returns is *owned*. We can't just return one of the elements of `v`,
//@ as that would mean that it is no longer in the vector! In our code, this comes up when we update