cereal is:exact

A binary serialization library A binary serialization library, similar to binary, that introduces an isolate primitive for parser isolation, and labeled blocks for better error messages.
A quick way to format a value that already has an appropriate Serialize instance
>>> testParse (cereal @Word16) (ByteString.pack [1,2,3])
Right [(258,"\ETX")]

>>> testSerialize cereal (1025 :: Word16)
Right "\EOT\SOH"