pub fn decode(bytes: Vec<u8>) -> Result<String, InvalidUtf8>
Decodes the bytes of a source file. A byte order mark is kept; the lexer skips it.