I'm trying to implement the protocol, so that I can implement other things on top of that.
I'm also trying to figure out how bad/good Haskell Binary IO really is that it's been addressed a few times differently :-)
FWIW, I've used Data.Binary extensively and have found it a joy to work with. I've used it to serialize/deserialize ethernet packets in real time for a VPN implementation and have never had a problem. It's quite fast and robust.