To get byte length of node we use `func (n *Node) Encode(out []byte) []byte` but it requires memory allocation.