Implementing [Rust's canonical `Error` trait](https://doc.rust-lang.org/std/error/trait.Error.html) would allow errors in syntect to be chained with application-level errors, via [error-chain](https://github.com/rust-lang-nursery/error-chain).