Non-executing Macro: Why doesn't this work?

Macros are dirty, they cannot be purified.

For such cthulu spaghettin connections, I do sequence at macro/function entry. Then i store proper result in varible, and feed it to return node at sequence. Makes less off a mess. Also if you can use function use it not macro.

For your macro it would be nicer if you calculated index and that bool value, then just returned results of get. So you could calculate index, store it in variable, then calculate bool value, then got what is in array. with pure function, and using array from input param this could be much more versalite

Or you could use “chooser” (google those for unreal) but chooser would be overkill here. Just gool old boolean algebra of ands xors, ors and nots.