concept G22LeftArrowScript { S description; // the script ("saved" text) S text; // text currently modified in an editor (or null) S editingText; void _doneLoading { cMigrateField(this, "code", "text"); } S myType() { ret dropPrefix("G22", shortClassName(this)); } toString { ret or2(description, myType() + " " + id); } }