code: function UnsafeIter(branch) {
    const key = c.KEY_I(branch.iterSuffix);
  
    const arr = t.identifier('arr');
    const output = t.identifier('output');
  
    return t.callExpression(t.functionExpression(null, [], t.blockStatement([
      t.variableDeclaration('var', [
        t.variableDeclarator(arr, Guard(branch.subject.path)),
        t.variableDeclarator(output, t.stringLiteral('')),
        t.variableDeclarator(c.LENGTH, t.memberExpression(arr, c.LENGTH)),
        t.variableDeclarator(c.INDEX, t.numericLiteral(0)),
        t.variableDeclarator(key),
        t.variableDeclarator(c.KEY),
      ]),
      t.forStatement(
        null,
        t.binaryExpression('<', c.INDEX, c.LENGTH),
        t.updateExpression('++', c.INDEX),
        t.blockStatement([
          t.expressionStatement(t.assignmentExpression('=', key, c.INDEX)),
          t.expressionStatement(t.assignmentExpression('=', c.KEY, c.INDEX)),
          t.expressionStatement(t.assignmentExpression('+=', output, ConcatStringList(compile(branch.body)))),
        ]),
      ),
      t.returnStatement(output),
    ])), []);
  }
docs: inline iteration unsafely only supports iterating over arrays-likes