adderall.dsl: Implement restᵒ

This implements restᵒ. For that to work properly, lcons needed to be
fixed to use proper cons cells when required (which in turn requires the
feature/cons branch from @olasd). And unify had to be taught about cons,
too.

And with all this, consᵒ could also be fixed and greatly simplified, so
it now works transitively too.

Many thanks to Nicolas Dandrimont <nicolas.dandrimont@crans.org> for his
aid in both debugging and fixing the problems.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>