Handle non-utf8 input file with better error
diff --git a/gen/src/fs.rs b/gen/src/fs.rs
index 6ad92f8..d1b0b70 100644
--- a/gen/src/fs.rs
+++ b/gen/src/fs.rs
@@ -66,9 +66,9 @@
     }
 }
 
-pub(crate) fn read_to_string(path: impl AsRef<Path>) -> Result<String> {
+pub(crate) fn read(path: impl AsRef<Path>) -> Result<Vec<u8>> {
     let path = path.as_ref();
-    match std::fs::read_to_string(path) {
+    match std::fs::read(path) {
         Ok(string) => Ok(string),
         Err(e) => err!(e, "Failed to read file `{}`", path),
     }