Switching to raw identifiers simplifies the code, both logic wise and visually.
I'll hold off from merging this however, as stable rustfmt isn't able to handle raw identifiers properly yet: https://github.com/rust-lang/rustfmt/issues/3161
This can be merged once this fix lands in stable.