Working with Python, a lot of times I find myself having to figure out the type anyway.
Is it just to make higher level languages more friendly to beginners, until they learn enough to realize data types do exist?
Don't need to be compiled
Easier to keep changes small and local to the code changing
Unit tests need less boilerplate/mocking/stubs
Simpler metaprogramming
Easier generic programming