Currently the m6 evolution has a equals(Exp other) method that relies on asTree().
It should be possible to support an eql(Exp other) that relies on helper methods (like isAdd or isSub) or specially designated visitors to handle 'makeIsAdd' or 'makeIsSub'.