first() {
        return map(this, 'first', arguments);
    }
Returns the first shallow node matching predicate.

@param {function} predicate Predicate function, accepts a single node and returns a boolean.
@return {TreeNode} First matching TreeNode, or undefined.