... extending sage.categories.pushout.VectorFunctor
sage: M = FreeModule(ZZ, 4, with_basis=None, name='M')
sage: latex(M)
M
sage: from sage.categories.pushout import VectorFunctor, pushout
sage: M_QQ = pushout(M, QQ)
sage: latex(M_QQ)
M \otimes \Bold{Q}