Reading through the rest of DejaGNU extended libs for Expect, the TCL-based testrunner, I see:
* Nicer debugger commands abstract (mostly) TCL's `uplevel` builtin-command.
* It's own error handling for unknown TCL commands, or rather ones which throws exceptions upon being dynamically loaded.
* Clear global state.
* Log status & exit.
* Log test results to XML, building upon custom XML serialization utilities.
* Configure whether/how to expect failures.
...
1/3?