julia> M = FreeModule(ZZ, 1);
julia> N, _ = sub(M, [M([3])]);
julia> Q, _ = quo(M, N)
(Quotient module over integers with 1 generator and relations:
[3], Hom: M -> Q)
julia> f = ModuleHomomorphism(M, Q, matrix(ZZ[0;;]));
julia> g = ModuleHomomorphism(M, Q, matrix(ZZ[3;;]));
julia> map(f, gens(M)) == map(g, gens(M)) # f and g agree on all generators
true
julia> f == g
false
MWE: