Using new datatype for type errors.

This is just the first draft, it just uses Show so far for output,
but it should get better output as necessary.