Transient vector. Unlike Java’s 32-slot scratch tail with null padding,
the Rust tail is a Vec<E> whose length is always exactly
size - tailoff(size); the “scratch” behaviour comes from in-place
push/pop on that Vec. All tree nodes touched by the transient are
stamped with its token and mutated in place only while uniquely owned
(Rc::strong_count == 1), matching Java’s edit-token discipline.