Fixed sigdef processing snafu.

The danger of processing recursively nested data structures: you might
accidentally use the parent variable when you mean the child. Types can't
protect you everywhere.
A toString() added whilst debugging.