Reorder Internal exports
Shrink Typed from GADT to ADT for simplicity
Add hashed+shown hybrid type information

Because of the ambiguity in the Show instance of TypeReps (#11),
collisions can be avoided much better with this type of encoding.

Maybe 'Shown' should even be removed in terms of this.
undefined -> error