Currently the implementation of Hom(M, N) convert both modules to the same ring in an ambiguous way, causing incorrect results: ```m2 i1 : K = ZZ/11; i2 : S = K[x,y]; i4 : Hom(S^1, K^1) 1 o4 = S o4 : S-module, free i5 : Hom(S^1, coker vars S) o5 = cokernel | y x | 1 o5 : S-module, quotient of S ```