I agree.  There&#x27;s a complexity tradeoff with either decision.<p>Having worked with both approaches, there&#x27;s a time and place for both.  Being able to quickly dive into a codebase is not always a good thing.  One thing conservative enterprise developers should like about DSLs is that they require new developers to structure their code in a way that fits the intended domain model.  I&#x27;ve seen my fair share of code written by developers who &quot;quickly dove in&quot; and they almost never fit the model and end up causing a huge mess which may be unrecoverable.  Conversely, if you don&#x27;t trust your developers to write decent code, trusting them inside a dynamically-typed DSL is probably not a good idea either.