function hasDynamicExpressions(root) {
			let retv = false;

			Traverser.traverse(root, {
				visitorKeys: sourceCode.visitorKeys,
				enter(node) {
					if (DYNAMIC_PATTERN.test(node.type)) {
						retv = true;
						this.break();
					} else if (SKIP_PATTERN.test(node.type)) {
						this.skip();
					}
				},
			});

			return retv;
		}
Checks whether or not a given group node has any dynamic elements.
@param {ASTNode} root A node to check.
     This node is one of BinaryExpression or ConditionalExpression.
@returns {boolean} `true` if the node is dynamic.