Wouldn't a normalized protocol based on AST vocabulary and tree operations make more sense ?