Dynamically typed languages offer tremendous flexibility whenyou structure your code, but at the cost of allowing type errorsto manifest at run time. Statically typed languages report typeerrors at compile time, but at the cost of requiring that type informationbe known at compile time.