is there currently a library that makes unifying them easy?
They cannot be completely unified. A sequence of Unicode characters (String) is not the same kind of thing as a sequence of bytes (ByteString). Going between the two requires an encoding. A shared abstraction would support a subset of operations that make sense on all sequences.