A dynamic type variable declaration needs a compiler to interpret the type of variable according to the value passed to it. Compilers don't need a variable to have type statically as a necessary requirement.