This is done unsubtlely at the moment and there is plenty of room for
optimisation of assertion location to prevent repeated reasserting as is
done now.
We already have reference behaviour, so this is not necessary.
This change highlighted fairly baroque architecture in mql that deserves
some attention; the use of channels is somewhat confusing.
Also rename LastResult to Result.