def gcd_all_go
import bend-collections-laws-crypto@1.0.0.0/src/math/generic.bend as Genericimport Base
import bend-collections-laws-crypto@1.0.0.0/src/math/num.bend as N
326def gcd_all_go(~T: Data, ~op: N.Op<T> -> T, ~test: N.Test<T> -> Bool, xs: List<&2, T>, +acc: T) -> T:
327 match xs:
328 case Nil{}:
329 acc
330 case Con{+x, rest}:
331 gcd_all_go(~T, ~op, ~test, rest, gcd(~T, ~op, ~test, acc, x))