pub fn gcd<T>(a: T, b: T) -> Twhere T: Copy + Eq + Rem<T, Output = T> + Default,
Computes the greatest common divisor for numbers a and b. TODO: May return negative values.