Replace always true test with assertion.
Nearly functional now, but leaky and not yet as tidy as I'm hoping for.
merge trunk