pub fn walk_move_type<F, I, T>(typ: T, f: &mut F) -> Twhere
    F: TypeVisitor<I, T> + ?Sized,
    T: TypePtr<Id = I> + Clone,
    T::Types: Clone,
    T::Generics: Clone,
    T::Fields: Clone,
    T::TypeFields: Clone,
    T::SpannedId: Clone,
    I: Clone,
Expand description

Walks through a type calling f on each inner type. If f return Some the type is replaced.