def inv_fin
import bend-collections@1.0.0.0/src/math/generic.bend as Genericimport Base
import bend-collections@1.0.0.0/src/math/num.bend as N
585def inv_fin(~T: Data, ~op: N.Op<T> -> T, ~test: N.Test<T> -> Bool, +m: T, r: T & T) -> Result<&2, &2, N.NumError, T>:
586 (+g, +s) = r
587 inv_one(~T, ~op, m, s, Bool.and(Bool.not(test(N.Lt{g, op(N.One{})})), Bool.not(test(N.Lt{op(N.One{}), g}))))