+1 .. so keep apply as taking Array[Byte] and do the conversion to ByteString in the impl ?