Spurred on by the enthusiastic comments here, I gave this a go. It's taken a lot of my day, but I'm there apart from 22a and 20d.
If I'm right, 20d looks like it should be plural while the clue seems it should be singular. But my potential answer doesn't give me any way of resolving 22a....