Impressive work! I just wish it had a less awkward API for serialisation and deserialisation. Compare the Rust example for Capnp with Protobuf:
https://github.com/capnproto/capnproto-rust/blob/master/exam...
https://docs.rs/prost/0.6.1/prost/trait.Message.html#method....
(Ok I couldn't actually find an example for Prost because all you do is create a normal Rust `struct` and call `encode()` on it.)