Hello,

There are well known results about this matter:

i) A countable union of contable sets, is countable.

ii) A finite product of countable sets is again, countable.

But, a countable product doesn't need to be countable. If X = {1, 2} then the sets of functions from N (natural numbers) to X is not countable, because, as you said, one can use a diagonalization argument. (Which means that the countable product of X is not countable)

See the first chapter of "Topology" of Munkres.