pub fn remove_forall_mut<'a, Id, T>(typ: &'a mut T) -> &'a mut Twhere
    T: TypePtr<Id = Id> + DerefMut<Target = Type<Id, T>>,
    Id: 'a,