Let $R$ be a commutative ring with 1, and $M$, $N_i$ be $R$-modules. For a given index set $I$, every proof I've seen that $M\otimes(\oplus_{i\in I} N_i) \cong \oplus_{i\in I}(M\otimes N_i)$ proceed via using the universal property of the tensor product. Is there a way to do this constructively?
What I've tried is the following. We know that we create a free module $F$ by assigning each $(m,(n_i)_{i\in I})$ a free generator $\delta(m,(n_i)_{i\in I})$. Similarly, we could consider the direct sum of the free modules $F_i$ given in the construction of $M\otimes N_i$, namely by assigning each element $(m,n_i)$ a free generator $\delta_i(m,n_i)$. Then, elements of $\oplus_{i\in I} F_i$ should look like finite sums of these $\delta_i(m,n_i)$.
Using the above, the natural injection (in a formal sense) $F\to \oplus F_i$ would be to map $\delta(m,(n_i)_{i\in I})\mapsto \sum_{i\in I} \delta_i(m,n_i)$. Unfortunately, unless $I$ is finite, there is no reason to think that the sum on the right-hand side would be finite. Moreover, I don't see any way this map could ever be surjective.
Does anyone have any thoughts on how to reconcile this? I know the universal property is the 'correct' way to approach things with the tensor product, but I'd also like to know exactly where this line of thinking fails.