I have just twigged that ds is a perfectionist. I suspect he won't have a go at things that he doesn't think he can do well; he gets extremely frustrated when he can't do what he wants (eg. trying to draw a heart-shape the other day gave us 5 full mins of shouting, 15mins sitting on my lap sucking his fingers, and a point-blank refusal to try again).
He resists all the gentle encouragement I've been able to think of and he's a stubborn little so-and-so so I'm kinda at my wit's end.
In my experience of perfectionist children, the worst thing that happened to them was being told that they are a perfectionist. It made concrete the idea that they ought to be good at everything first time and gave them the idea that other people had the same expectations of them as they did for themselves.
I don't think you can entirely stamp out a personality trait, but you could create an environment where getting things wrong is no big deal - let him witness you making mistakes and cheerfully trying again.
Also, praise effort not results. "Good try!" "I love how hard you worked at X" "I'm really impressed that you persevered with Y" "I can tell you worked hard at Z, well done"
And steer clear of telling him he is good at things, ie "you're a great dancer" means that he is a naturally gifted dancer, whereas "I can see you've been practising those steps, it looks great" means he has worked hard to achieve his result.
There are quite a few studies about praising effort vs praising ability or results, and they always show that children whose natural ability is praised (ie things they have no control over) become less motivated and put in less effort than children whose effort is praised.