Tidying

If you rebase your branch off my `position-consistency` branch, hopefully this PR will become much clearer. If not, nuke it and we'll try something else.