Visitor is a tree-based serializer/deserializer.
Visitor uses tree to create structured storage of data. Basic unit is a node - it is a container
for data fields. Each node has name, handle to parent, set of handles to children nodes and some
container for data fields. Data field is tuple of name and value, value can be any of simple Rust
types and some of basic structures of the crate. Main criteria of what could be the field and what
not is the ability to be represented as set of bytes without any aliasing issues.