Why is 0^0 undefined?