Port diff command to core

I'm quite proud of this one.
:baby_bottle: 
It always feels really great to find a reason to write a functor. Kinda like finding $20 on the ground or opening a sticky jar of pickles for your mom.