Replace values recursively