Pulling out TypeIdx approach, just using regular types now.

This allows us to have a Haskell embedding as well as the Java
one, so this seemed to be the best compromise,
although not as "well-kinded" as before.