BindingIdentifier(path) {
          if (
            // the parent has this id as the name
            (path.parentPath.isFunctionExpression({ id: path.node }) ||
              path.parentPath.isClassExpression({ id: path.node })) &&
            // and the id isn't yet added to the scope
            !hop.call(path.parentPath.scope.bindings, path.node.name)
          ) {
            path.parentPath.scope.registerBinding("local", path.parentPath);
          }
        }
This is required because after function name transformation
plugin (part of es2015), the function name is NOT added to the
scope's bindings. So to fix this issue, we simply add a hack to
handle that case - fix it to the scope tree.

Related:
- https://github.com/babel/minify/issues/829