```rust
assert_eq!(beer::verse(0).as_slice(), "No more .... ")
```

might work, but could meet some lifetime issues/bugs.

The problems with `~str` and `&str` having different representations doesn't apply, since we're at the top level, so it wouldn't require changing the value (and most importantly, size) of vector elements in place. In this case, it's just hitting the bug that `&str == ~str` works, since it auto-borrows the RHS to a `&str`, but `~str == &str` doesn't, since it requires the RHS be a `~str` to match the left.

(As above, it's not a particular problem in tests.)