There are various traits (RegionEscape, HasProjectionTypes, ReferencesError) that are useful for checking properties on all the types/regions reachable through a value. Right now they each have their own separate impls for things like FnSig and Rc<T>. It'd be nice to use a setup like TypeFoldable instead to save code.