Step - union

union(a, b, ...) runs every child traversal on each traverser and emits all their results. As a start step (g.union(..)) the children start the traversal themselves.

g.V("1").union(__.out("knows"), __.out("created")).values("name")   // ["josh", "vadas", "lop"]
g.union()                                                         // nothing

union() with no child produces nothing.

Rust: union(vec![a, b]).