iface to_bytes {
    fn to_bytes() -> ~[u8];
}

impl of to_bytes for ~[u8] {
    fn to_bytes() -> ~[u8] { copy self }
}

impl of to_bytes for @~[u8] {
    fn to_bytes() -> ~[u8] { copy *self }
}

impl of to_bytes for str {
    fn to_bytes() -> ~[u8] { str::bytes(self) }
}

impl of to_bytes for @str {
    fn to_bytes() -> ~[u8] { str::bytes(*self) }
}
