It is simply just creating a list and then getting the first item in the list. So it could be rewritten as:
List.FirstItem(passthrough,waitfor);
Or you could even simplify it further and just do a code block with:
[a,b][0];
It acts as a gate because Dynamo has to “collect” all of the items in the list before passing the contents on to the next node.