I do hate whitespace-sensitive syntax because of how error-prone tabs-vs-spaces stuff is when you happen to have multiple people with different editor preferences on one project. BUT:
TBH, code generation is probably one of the worst arguments against whitespace-sensitive languages I have seen so far: Including an indent tracker (or simply a string with the correct amount of whitespace that you add to as needed) costs you one argument in the generator functions — and comes with the advantage to make your generated code human-readable.
If you are generating code that is ever supposed to be read by a human, you probably should do it anyway, even if it is bash script.