Btw. the question, if `ByteStringBytes` should move into `ByteString` or not, is an unrelated question of code organization: 

 - if we want to get rid of `ByteStringBytes` we need to move the complete implementation of `Bytes` into ByteString.scala because of sealedness
 - otherwise we need some kind of sentinel in Bytes.scala which right now is `ByteStringBytes`

You decide.