Heh, just realized that most scheduling problems can be solved by a combination of bin packing + diffing.
This includes futures, containers, services.
Looks like there's no escaping diffing, so perhaps I should take a stab at implementing some of this for fun sometime! 
Started work on a diffing algorithm. Probably going to casually build this out over the next few months. https://github.com/yoshuawuyts/changes …