My opinion on hcl: better than yaml / json, worse than Python / Typescript / most real languages.
In fact I will use a real programming language for IaC over pretty much anything, as long as the language has an expressive type system and allows declarative idioms.