One of the big things I struggle with functions-wise is getting stuck in what I call optimization loops. Where there's several tasks that need doing, and some would be optimized by having another task done first, but it can't be shaken out into a clear executable task list.
Simple example: I need to shower, eat food, and go to grocery store. I'm hungry and don't have energy to cook, so the easiest food option would be to get a deli item at the grocery store. But I want to shower before leaving the house. But I don't have energy to shower without eating first.
It feels very silly to get stuck on such a minor dilemma for as long as I have! But there are times I've spent hours looping through this list, trying and failing to start it anywhere. And the only way out, I find, is to manually override it: to catch it happening and say, fuck it! I can go to the grocery store stinky! It's fine!!
It could be considered a subset of perfectionism, because the override very much involves hitting yourself with the idea that it's ok to do things suboptimally. But it feels like it comes from a slightly different place. As someone who struggles with executive function, I get myself through a lot of tasks by trying to optimize to the smoothest, lowest-friction way through. The task order that minimizes having to do any step more than once, or having to remember too many things at a time. If I can arrange my tasks just right, sometimes I can get one task to cover part of the work of doing another! And if I can put my tasks in an order that feels natural and ideal, I can lower the energy of activation it takes to get moving. And, sometimes, avoid the choice paralysis of not being able to pick a task out of a list of equal priority.
Except that, obviously, sometimes the optimization process throws up glitches of its own. There's the closed loop I described, and there's also another catching point where a task I have the mental energy and wherewithal to do gets stuck behind a task that's too big/intimidating/difficult to tackle. For example: I just sent some emails I've been procrastinating on for over a month, because I need to set up a new email address, and I was telling myself it'd be better to get that set up before I contacted people, because it would save me the hassle of dragging a bunch of conversations over to a new account when I did get it set up. I still haven't made the other email! But I realized that hypothetical future hassle was not worth the delay of not sending those emails for as long as it's going to take to actually get my brain together to figure out a new email service.
Surprisingly, doing something like this often actually makes the difficult task I was stuck on easier! Another thing I struggle with is a flinch reaction from tasks that are both pressingly important, and unapproachable to do. The more I need to do a task immediately, the more stressed and overwhelmed and self-recriminating I get about the fact that I don't know how to even start doing it. It gets so bad I can't even think about it directly - I think about the general shape of it, flinch, and divert my attention so I don't panic.
And when I've got a minor, pressing task stuck behind a big nebulous scary task, it presses the unapproachable task forward, makes it urgent, and that makes it harder to figure out how to do. If I can get around it, and do the actually pressing task in some contrived way that pushes some miscellaneous messy consequences forward, it takes pressure off the big task. And then I can actually think about it, without panicking, which makes it possible to actually work on doing it.
That last point also often applies to asking for help. I have a weird hangup here: I find it excruciatingly difficult to ask for help if I haven't at least *started* the thing I need help with. Which gets into the same dynamic: I have a big unsorted task I can't think about directly without panicking, or the path of steps to doing it that I've managed to figure out starts with one I can't make myself tackle, so I'm stuck doing nothing with no way in. Asking for help means admitting to someone that there is going to be mess, that I can't tackle the problem in the optimal front-to-back way so there's going to be inconvenient problems generated in some of the steps that will have to be dealt with at other steps, and some of that inconvenience might be to people other than me!! But just managing to say this, to admit this upfront, is sometimes enough to cut the gordion knot of not being able to start anywhere.
So, ok, it is a little bit about perfectionism. But perfectionism that comes from a slightly sideways place: the desperation to avoid creating problems in the future, to the point where instead you create problems now.