Binary serialisation for Haskell values using lazy ByteStrings