function hasNode(node, predicate) {
  return predicate(node) || hasDescendant(node, { getVisitorKeys, predicate });
}
@param {Estree.Node} node
@param {(node: Estree.Node) => boolean} predicate
@returns {boolean}