Destructively modifies sequence-1
by replacing the elements of subsequence-1
bounded by start1 and end1
with the elements of subsequence-2
bounded by start2 and end2.
Sequence-1 is destructively modified by copying successive
elements into it from sequence-2.
Elements of the subsequence of sequence-2
bounded by start2 and end2
are copied into the subsequence of sequence-1
bounded by start1 and end1.
If these subsequences are not of the same length,
then the shorter length determines how many elements are copied;
the extra elements near the end of the longer subsequence
are not involved in the operation.
The number of elements copied can be expressed as:
(min (- end1 start1) (- end2 start2))
If sequence-1 and sequence-2 are the same object
and the region being modified overlaps the region being copied
from, then it is as if the entire source region were copied to another
place and only then copied back into the target region.
However, if sequence-1 and sequence-2 are not the same,
but the region being modified overlaps the region being copied from
(perhaps because of shared list structure or displaced arrays),
then after the replace operation
the subsequence of sequence-1 being modified will have
unpredictable contents.
It is an error if the elements of sequence-2 are not of a
type that can be stored into sequence-1.