use subst returned by subst_in_Xdata functions