People associate types with memory and performance. For people who code languages this does not ring well. A typed language’s execution depends on the program executing it.
For a dynamic language to include types, the main benefit is to try to help programmers out. It calls you out when you contradict your intentions.
This is why it’s great to build conceptual models of things. This tallies with a natural method of teaching. You explain things grossly. Then for each implementation, give the specific details. You cannot make general statements about how programming construct x operates beneath the hood.
It also boils down to the fact that people who code things up iterate over an idea then add their own spin to it.