cereal is a variation on the binary package that provides strict
parsing, handleable exceptions with a named call stack, and a new
parsing isolation feature. The major differences from binary are a new
class called Serialize replacing the Binary class, getting and putting
using strict ByteStrings and a number of combinators for parsing lists,
arrays and other containers.