Carving up Types.scala

A dummy pull request against my own repo to accomodate any pre-PR discussions.

As discussed: https://groups.google.com/forum/?fromgroups=#!topic/scala-internals/MOvmcnbyb_g