use list-map with default arg fallback for prop/val generation