When there's a large skill gap between two or more pairing developers, it can become a frustrating experience for everyone involved. I suspect this happens more often when more junior folks are at the keyboard.
Experienced developers have learned a high level language to communicate with their peers about problems that their less skilled partners may not yet be fluent in. If they are forced to downgrade from, "Let's make a map," to, "Type a percent sign followed by an opening curly brace," they are now operating with one brain tied behind their back. That's the simple stuff too. Rope data structures, Schwartzian transforms, and adding a custom GenServer to the application's supervision tree are right out!
The junior is not in a better position. They often feel like their job is to understand as much as possible of what the other person is doing to learn from it. Of course, it's common for most problems to quickly exceed their capacity for taking things in and, once they are overwhelmed, it's easy to feel like they can't bring any knowledge they've acquired to bear in a useful manner. It's totally understandable if they essentially shut down in such circumstances. The hope of learning is no longer on the table.
The good news is that I believe there is a better and easier way.