$(R^{\oplus A})^{\oplus B} \approx R^{\oplus (A\times B)}$? Let $R$ be a ring and let $A$ and $B$ be sets. How can I see the following isomorphism of $R$-modules
$$(R^{\oplus A})^{\oplus B} \approx R^{\oplus (A\times B)}$$
as a consequence of the universal properties of Cartesian product of sets and coproduct of $R$-modules? The free functor from sets to $R$-modules is not right adjoint so it doesn't commute with the Cartesian product of sets, but something is happening here ... 
 A: $R^{\oplus A}$ for a set $A$ is a copower, i.e. $\text{Hom}(R^{\oplus A},S) \cong \text{Hom}(A,\text{Hom}(R,S))$ (natural in $S$ and $A$, and $R$ is viewed as a 1-dimensional $R$-module on the right).  If needed, show that this is equivalent to $R^{\oplus A}$ is a colimit of a discrete diagram, i.e. a coproduct.  Establishing this adjunction is where you'd used the universal property of coproducts.  From there, the rest is pretty straight forward:
$$\begin{align}
\text{Hom}((R^{\oplus A})^{\oplus B},S) 
  & \cong \text{Hom}(B,\text{Hom}(R^{\oplus A}, S)) \\
  & \cong \text{Hom}(B,\text{Hom}(A,\text{Hom}(R,S))) \\
  & \cong \text{Hom}(A\times B,\text{Hom}(R,S)) \\
  & \cong \text{Hom}(R^{\oplus (A\times B)},S)
\end{align}$$
Then, "by Yoneda".  The introduction of the cartesian product is via the adjunction giving cartesian closure.  Note this proof works for any category that has copowers, which includes any category with arbitrary coproducts.
A: While Derek's answer is the formal way to prove it, here's an intuitive reason that can be made formal by induction:
$$(R^{\oplus A})^{\oplus B} = \underbrace{\left ( \underbrace{R \oplus \dots \oplus R}_{A \text{ times}} \right ) \oplus \left ( \underbrace{R \oplus \dots \oplus R}_{A \text{ times}} \right ) \oplus \dots \oplus \left ( \underbrace{R \oplus \dots \oplus R}_{A \text{ times}} \right )}_{B \text{ times}} $$
Now, you only need to see that $(A \oplus B) \oplus C \cong A \oplus (B \oplus C)$, which you should be able to prove using the universal property.
