phase(syntax) => phase(plugin). also, deriving PartialEq instead of Eq for Tree makes compiler error go away. dunno why.