You can also use open() with multiple arguments. However, it is just a syntax sugar to call push_layer(): One :tee layer has a single extra output stream, so arguments $x, $y, $z of open(), for example, prepares a filehandle with one default layer and two :tee layers with a internal output stream.