MapSO extraFields; void setExtraField(S name, O value) { extraFields = mapPutOrCreate(extraFields, name, value); } O getExtraField(S name) { ret mapGet(extraFields, name); }