Rule: don't process if the incoming data is same
Rule: don't process if the incoming data is same

Each rule will have to maintain its own cache of what affects it. Then
on an incoming process call, diff the cache to find out whether or not
it should process at all.

Additionally, when processing new data, the results may be different, so
the mark() operation must mark all affected nodes. When called to mark()
by DOM mutation, the results remain the same, so only mark the newly
affected nodes.

behance/focss,Aintaer/focss,Aintaer/focss