Provide tree traversal methods?

Three.js has methods for traversing a tree starting at a given node (their nodes are instances of Object3D). Should we provide similar methods on our Nodes? Or supply those as a separate tool external from Node?

I was thinking of making a separate, generic tree/node library, then building engine Nodes on top of that. API might look like

import {preOrderTraverse} from 'some-library'

// ...

preOrderTraverse(node, function(node, level) { /* ... */ })