function hasPromiseCallback(node) {
  // istanbul ignore if -- only being called within `CallExpression`
  if (node.type !== 'CallExpression') return
  if (node.callee.type !== 'MemberExpression') return
  const propertyName = node.callee.property.name
  return propertyName === 'then' || propertyName === 'catch'
}
@param {import('estree').Node} node
@returns {node is HasPromiseCallback}