[FEATURE] Substitute markers and subparts recursively