They invented a language to avoid you imperatively updating infrastructure, but that's not what CDKTF does; it just makes it easier to materialize that declarative output.
It also makes it easier to reason about that output as you can avoid awkward iteration in your declarative spec.