experimental replace feature
support nested replace arrays