You could do that, but why should we do this from a computational point of view?
The idea behind my “Await” node and other coded in a similar way is, that we wait for a previous node to send all the data before passing another datastream. This is essentially your “counter”. In other words, you don’t need to count, you just need the wait for a complete datastream.
Waiting for a “go” from other nodes could be coded into all nodes (an await mechanism), but it seems to be a bit to much while this about waiting is needed in very few cases.