Transfer

ABSTRACT

An animation that transfer the entirety of the from variable to the into variable. If into is empty, then type information is preserved. Otherwise, it is lost. Also, to make semantics clear, we required that the into variable be in line with its follower (that is, there cannot be any changes to the into variable since its last Set). This is easy to fix by simply calling Set: on the into variable right before this animation if you need to

IMPORTANT ELEMENT

Transfer is important for denoting ownership. It's also good for moving variables into auxiliary trees for temporary purposes

PARAMETERS
from&The sources of the animation. Note that from can be a variable tree
into&The destination of the animation. Note that into CANNOT be a variable tree, it must be a single variable
RETURN

An animation the executes the transfer. The from iterators and followers are all the empty vector, whereas whereas the into iterators and followers are going to be iterator original content + the transferred content

DECLARATION
func Transfer(from&, into&)