As the fact we rely on diffing for staging/unstaging is an implementation detail, could you please make this `internal` rather than `public`?