prefer explicit lists of nodes as arguments to splats
allow blocks as condition branches