procedure_body Swap_Substring ( alters Text& t1, preserves Integer pos, preserves Integer len, alters Text& t2 ) { object Integer n = len; while (n > 0) { object Character c; t1.Remove(pos, c); n--; } n = 0; while (n < t2.Length()) { t1.Add(pos+n, t2[n]); n++; } }