Fix a GC assert error message.

It was using %l for printing a number, change it to %ld.
Advise compiler that *{HANDLER,RESTART}-CLUSTERS* are always-bound.
Add some type-derivers