The behavior is exactly what I would expect it to do. Arguably I’d use “plus” for adding timespans together (which should be commutative and associative) and “shift” for shifting a date by a timespan, but I don’t think the behavior here needs much elaborating as long as the method is accurately documented