I was wondering if there is any particular reason why Str and Subsequence automata can only be created from strings. The other parts of the API that I've looked at so far all take arbitrary byte sequences. I'm still quite new to Rust, but changing Str::new and Subsequence::new to take an AsRef<[u8]> seems to work fine.