It's because of `realstd`. The `#[test]` versions of these methods (which you've flagged here) call into `realstd::rt:args`. That wasn't a problem when the type was `~[T]` because that was a compiler-defined type, but with `Vec`, `realargs::take()` returns `realstd::vec::Vec` but this function needs to return `vec::Vec`.

Luckily, since the only difference between the types is that one is from the current crate and one is from `realstd`, we know for a fact that they have the same layout (and the same implementation), so we can just transmute them.