To understand other people's code, I have to put away my own thoughts of how things work and try understand the thinking model and mental model of the person solving the problem.
And if they're smarter than me, then I have an uphill battle.
I think experts get too deep into values that aren't practically valuable to businesses or me and as a result go into the deep end creating a manifestation of something they think is beautiful or elegant but for me is a mess I am now forced to understand, with reluctance.
They say that one person's trash is another person's treasure and I think it applies to code too.
One person's elegance at runtime is another person's unextendable mess that leads to slow velocity and developer morale.
They say code IS the documentation but I don't agree. I don't want to bounce between 50 tiny files to understand where the core part of your algorithm is and what I need to do to get the behaviour I need.
I think if you're reaching for advanced language features to solve the problem before better data modelling, that's a warning sign.