The current handling for nominal types that contain region pointers is insufficient. We need to include a ty::region in the ty_enum (ty_class etc). To make this easier, we need to know which enums etc may contain region ptrs. This could in principle be inferred but it's painful, so I plan to augment the declaration of an enum/class to indicate if the type can contain region pointers or not. This will also affect the kind of the type, so it makes sense. Something like enum expr vs enum expr&.
Actually, never mind, I'll infer it the same we infer other kinds.
make nominal types optionally parameterized by a self region.