If you want to enforce contracts, pick a language that encourages it. There are many to choose from. Plenty of people are doing just fine in Python without this.
It's almost an entirely distinct problem domain. Besides, what would a contract be in a dynamically typed language?
I don't think these features are bad, but they're not appropriate everywhere.