These `reinterpret_cast`s are scary, let's make sure there's no other way to get a `BYTE*` into a `const char*`. Maybe a [`dynamic_cast`](http://en.cppreference.com/w/cpp/language/dynamic_cast), which does provide error handling and is considered safe, yet slow.  