[a]**[b][[...**c]]
where [a], [b], and [c] are all values
[a], [b], and [c] are numbers
returns the exponentiation of [a] to [b], then to[c] in the most precise type that appears in the chain
pow(type[a], type[b], type[c]) is defined
returns a call of [a], [b], and [c] to pow
[a]**[b] is defined
evaluates [a]**[b] first, then evaluates the rest of the expression