(version 1000) (serializator "levels" (procedure "level3" (arg "a_name" string) (arg "a_len" int) ) (struct "Level3" "level3" ; (field "lvl3_name" (f/string '("a_name"))) (field "lvl3_len" (f/int '("a_len"))) ) (procedure "level2" (proc "p_level3" '("level3") (proc-allow '(collection))) ) (procedure "level1" (arg "a_tag" string) (proc "p_level2" '("level2")) ) (rootprocedure (proc "p_level1" '("level1")) ) (rootstruct "Network" (field "lvl_tag" (f/string '("p_level1" "a_tag"))) (field "lvl_names" (f/vector (f/string '("p_level1" "p_level2" "p_level3" "a_name")) ) ) (field "levels" (f/vector (f/struct '("p_level1" "p_level2" "p_level3")) ) ) ) )