AActor::GatherCurrentMovement called when !bReplicateMovement

I would like some clarification why AActor::GatherCurrentMovement is called in AActor::PreReplication when ( bReplicateMovement || AttachmentReplication.AttachParent )? AttachmentReplication already replicates once initially when one calls AActor::AttachRootComponentTo, and if someone sets bReplicateMovement, I believe that is clear intent on their part that they do not want to replicate the movement of the actor every frame. I understand that there are several work arounds to avoid this behavior without changing the source, however I would still love to know the original reasoning behind this design. Thanks.

could you learn that