Port diff command to core

I'm quite proud of this one.
:baby_bottle: 
erp, `add` does nothing if the element already exists in the set. Fix that.