@alexcrichton Nearly all of those locations have a `// FIXME` to make it so we don't need to do that. Almost all of those will hopefully become `.as_vec()` as other parts of the system become aware of non-utf8 paths. I intentionally left it awkward to convert to a `~str` because I want to discourage unnecessary allocation.

Besides, I can't impl `ToStr`. At best I could have a `.to_str() -> Option<~str>` but that's not great.