If M and/or N are direct sum modules (isDirectSum M == true) then H is the direct sum of the Homs between the components. This SHOULD be built into Hom(M,N), but isn't as of M2, v. 1.7

- tensorWithComponents -- forms the tensor product, preserving direct sum information
- dualWithComponents -- dual module preserving direct sum information

- HomWithComponents(Module,Module)

The object HomWithComponents is a method function.