Remove squash eliding optimisation and improve some error messages.

The main justification for removing this, is that it is a very degenerate case
to be optimizing for, and it causes the conflation of ephemeral and persistent
datasets which can and has led to bugs.