MOVER moves bit/numeric
values, so you can move a real to an integer or a byte to a real and (of course) reals to reals, et. al. It's not meant for structures.
HOWEVER...
look at MEMCOPY. It is for blind copying of raw BYTEs, which is exactly what you need to do when copying structures to structures. It supports ranges, just like MOVER.
So, you can eliminate your MOVEs and replace it with a single MEMCOPY

.