add trackChanges idset combinator and optimize invalidate so that it does not require to concat lists