It makes two or three allocations (ByteString + byte[], sometimes defensive copy of byte[]) - I am talking generally about conversion between ByteString and Binary and back)
I think we cannot do much about it.