This is it.

That cover comes off easily enough.

Underneath is a slightly sticky transparent rubbery stuff that covers a metal plate behind which there appears to be a circuit board.
These blobs prise off easily (I think they're the same rubbery stuff)...

...to reveal two torx head screws. I'm not sure what size they are: the bit says T20 and the socket says T15 but both are the same size and fit.

Anyway, the two halves come apart like this:

The big half (to which the cable attaches) has a flat headed spindle that fits into a slot on the electronic half. Both halves are sprung.
Three small torx gets you further into the electronic half.

See there's a slot in the cover (at about 10 O'clock) that fits into the main part (at about 9 O'clock).
There are (at least) two different ways to put this back together, and in some of the ways the thing will not move at all.
Now this was a surprise. Taking out the spring, you find that the slot is on the back of a plastic thing that holds two semi-circular magnets.

On the back of the plastic thing (this is the bit that gets turned by the other half) there is a lug at about 10 O'clock that fits into a channel that runs from about 7 O'clock round to about 1 O'clock. Thus the thing can only turn through one half turn.
That is as far as you can get into the electronic side without gouging out the rubbery stuff. So that's as far as I got with that.
Back over on the half to which the cable attaches, there's a circlip round the shaft. This comes off easily enough, although once off it will never hold as tightly as it did.

As well as the ring for holding the circlip, the shaft has a slot into which a lug on the inside of the washer fits to prevent it from turning.
With the circlip off the thing springs apart quite readily to reveal nothing more exciting than two springs.

By the way, a 'grainy' feel when you twist the TPS is muck in the springs and round the pastic parts that move against eachother.
For the record, this is what I measured across all combinations of the 4 terminals:

(by '40+' I mean 'a bit more than 40 actually but I assume that it's supposed to be bang on 40')