Are these type spaces equivalent? If I have a real 3-vector, I can say that is of type $\mathbb{R}^3$. 
But equally I say that it is a map of the index which takes one of 3 values to a real number so the type is $\mathbb{Z}_3 \rightarrow \mathbb{R}$.
So should I conclude that $\mathbb{R}^3 \equiv \mathbb{Z}_3\rightarrow \mathbb{R}$ ? (Or perhaps we would write $\mathbb{Z}_3$ simply as $\mathbb{3}$.)
Also for a function taking a real number to a complex number I could write the type as $\mathbb{R}\rightarrow \mathbb{C}$. But by my previous argument, could this also be written as $\mathbb{C}^{\mathbb{R}}$ or perhaps $\mathbb{C}^\infty$? This could be read as a complex vector in which the index is a real number.
As an example take a complex functional $\Psi[\Phi]$ of a real field $\Phi[X]$ of a real vector $X^\mu(\sigma)$ with index from $1..10$ and $\sigma$ an angle from $0..2\pi$. The type of $\Psi$ would be $((S_1 \rightarrow \mathbb{R}^{10}) \rightarrow \mathbb{R}) \rightarrow \mathbb{C}$.
So could this also be written as $\mathbb{C}^{\mathbb{R}^{\mathbb{R^{10\times S_1}}}}$ ?
 A: Unless you actually are working in a type theory1, we'd usually say your real $3$-vector is an element of the set $\mathbb R^3$. Now the question is what is your definition of $\mathbb R^3$. Usually this is presented as shorthand for $\mathbb R\times\mathbb R\times\mathbb R$. However, you can show that $\mathbb R\times\mathbb R\times\mathbb R$ is in bijection with the set of functions $X\to\mathbb R$ whenever $|X|=3$. We could, then, take $\mathbb R^3$ to actual mean $X\to\mathbb R$ for some $3$ element set $X$. In fact, for the typical von Neumann definition of the naturals, the natural number $3=\{0,1,2\}=\{\varnothing,\{\varnothing\},\{\varnothing,\{\varnothing\}\}\}$ which is a three element set, so we could literally take $3\to\mathbb R$. This is, of course, true for every von Neumann natural $n$, not just $3$.
In general, $Y^X$ is often used as the notation for the set of functions $X\to Y$. It satisfies all the "high school algebra" laws up to bijection, e.g. $(Z^Y)^X\cong Z^{X\times Y}$. So $\mathbb C^\mathbb R$ does usually mean the same thing as $\mathbb R\to\mathbb C$. (They tend to be used slightly differently. We usually use $Y^X$ when we want to think of $Y^X$ as a set, where $X\to Y$ is usually used as an annotation to clarify the domain and codomain of a function. It is unusual, for example, to see something like $U\subseteq (X\to Y)$ but not unusual to see $U\subseteq Y^X$.) $\mathbb C^\infty$ is nonsense though unless $\infty$ has been defined.
The expression you give in your last question stands for a set which is in bijection with the earlier set. It is not literally equal since we have $(Z^Y)^X\cong Z^{X\times Y}$ but rarely $(Z^Y)^X =Z^{X\times Y}$.
If you actually care about type theory the story is much the same. The main difference is that equality of types is usually quite different from equality of sets, if it exists for a given type theory at all. This typically means all these clever manufactured "coincidences" in set theory are irrelevant in type theory, since we can only talk about isomorphisms of types anyway. In the case of Homotopy Type Theory (HoTT), types are equal when they are "isomorphic" which does allow HoTT to say $\mathbb R\times\mathbb R\times\mathbb R=\mathbb R^3$ where this is not true in set theory, though there is a bijection. In practice, mathematicians using set theory will often treat (naturally) bijective sets as equal.
1 Which I endorse but is not the typical case.
