I don't see why we need to keep ByteStrings, just use CompoundBytes for compoundness.