Pattern match(es) are non-exhaustive in `gcd` function For learning purposes, I am defining gcd' function in terms of repeated subtraction: