if {{string} ne [info procs]} {
	rename string string_orig
}

proc string {args} {
	switch [lindex $args 0] {
		replace {
			return [string_orig range [lindex $args 1] 0 [expr {[lindex $args 2]-1}]][lindex $args 4][string_orig range [lindex $args 1] [expr {[lindex $args 3]+1}] end]
		}
		default {
			string_orig {*}$args
		}
	}
}
