Pure functions

Okay, but what is the rationale behind this?
We have less execution pins in the blueprints at the cost of multiple calls per output value reference.
Except for brevity - is there an advantage I am missing?

Can the MakeArray node be considered buggy? It allocates a new array and that is considered a side effect, right?