generalise ext-ren-subst