add walk func combinator DescendantIdEq