If I understand correctly, AsMut is for conversion between references, for example AsMut<str> for String converts a mutable reference of String to a mutable reference of str. It's pretty logical.
It just converts a mutable reference of Vec<T, A> to a mutable reference of the same type. What's the point? Maybe it just creates a brand new references of the same type?