putByteString :: ByteString -> Encode
putByteString bs =
    let (ptr, offset, len) = toForeignPtr bs
    in Encode len $ pokeFromForeignPtr ptr offset len
putByteString :: ByteString -> Encode
putByteString bs =
    let (ptr, offset, len) = toForeignPtr bs
    in Encode len $ pokeFromForeignPtr ptr offset len
putByteString bs =
    let (ptr, offset, len) = toForeignPtr bs
    in Encode len $ pokeFromForeignPtr ptr offset len