Various infrastructure changes in preparataion for kind checking classes