Move SSD edit field mutations to typed Kotlin

ober

6a0b118fc0a7186fa172ade506799744bda5c9ca

diff --git a/templates/ssd-review.ss b/templates/ssd-review.ss
index 0cd48de..67f70dc 100644
--- a/templates/ssd-review.ss
+++ b/templates/ssd-review.ss
@@ -5173,9 +5173,19 @@
                 group))))
         (def (ssdSessionApplyEditedGroup (session : SsdSession)
                                          (group : SsdGroup)
+                                         (labelText : String)
+                                         (resolvedName : String)
+                                         (boxTypeId : String)
                                          (firingArcText : String)
                                          (countText : String)) : Unit
           (begin
+            (SsdGroup-label-set!
+              group
+              (manualGroupLabel
+                labelText
+                (nullable-some resolvedName)
+                (SsdGroup-label group)))
+            (SsdGroup-boxTypeId-set! group boxTypeId)
             (SsdGroup-firingArc-set! group (normalizeFiringArc firingArcText))
             (SsdGroup-count-set!
               group
@@ -7560,9 +7570,15 @@
        "            firingArc.dismissDropDown()"
        "            dialog.dismiss()"
        "            val resolved = BoxTypes.resolve(this, boxTypeText)"
-       "            group.label = manualGroupLabel(labelText, resolvedBoxTypeNameOr(resolved, group.label), group.label)"
-       "            group.boxTypeId = resolvedBoxTypeIdOr(resolved, boxTypeText)"
-       "            ssdSessionApplyEditedGroup(session, group, firingArcText, count.text.toString())"
+       "            ssdSessionApplyEditedGroup("
+       "                session,"
+       "                group,"
+       "                labelText,"
+       "                resolvedBoxTypeNameOr(resolved, group.label),"
+       "                resolvedBoxTypeIdOr(resolved, boxTypeText),"
+       "                firingArcText,"
+       "                count.text.toString()"
+       "            )"
        "            truthStore.appendEvent(\"group_edited\", session)"
        "            reviewView.performHapticFeedback(HapticFeedbackConstants.CONFIRM)"
        "            reviewView.invalidate()"