Shouldn't this constructor be private to TypeKinds?