No this overhead is not useless. This is the only way that we can use the cuda variables threadIdx,blockDim,... in all classes without to define ```operator+(), operator*(), ...``` for dim3 and ```DataSpace<DIM>```