function walkClassMixins(classDeclOrExpr) {
  let el = classDeclOrExpr.get('superClass');
  // walk possible mixin functions
  while (singlePath(el) && el.isCallExpression()) {
    const result = el.get('arguments');
    if (Array.isArray(result)) {
      [el] = result;
    }
  }

  return singlePath(el) ? el : undefined;
}
@param {NodePath<ClassDeclaration> | NodePath<ClassExpression>} classDeclOrExpr
@returns {NodePath<any> | undefined}