public interface ISortedGroupWithMover<T> : ISortedGroup<T> where T : IMoveableHoldee<T>
I think the correct interface for this is like this, I dont think the previous version has the same meaning altough im not sure of the difference.