how does the ByteString work?
I'm happy to help modifying the Binary class if that makes things easier