Introducing TypeRep abstraction.

src/ compiles.
Diverging Implicits fixes.