Define toString() for Box<T>.
Deriving defaults to Empty.
nil is implicit.
Pretty-print literals with toString().
Unpack the parameters correctly for the derivative.
Fix compaction of alternations of x with empty.
Test compaction.