Smidsy candidate!

Quite a long-running branch, so may need some detailed review.
Also... tests.

Down to <30 commits from 174, suggestions for reducing further welcome :smile: