http://ruhaskell.org/posts/theory/2016/01/06/serialization-with-deptypes.html — Какие зависимые типы? Какие диаграммы? Вечно эти штангисты чего-то напридумывают. Вот https://github.com/off-the-record/libotr/blob/master/src/serial.h — на C всё просто и понятно.