replace test and simplification
replace() not use constructor
replace_from()
super cache!