!7 static withToList record Did$HappenBefore$(O event1, O event2) {} static withToList record WhenDid$Happen(O event) {} static withToList record $HappensAtSecond$(O event, O y) {} static ClassesAndPatterns classes; sO parseArg(S s) { ret isInteger(s) ? parseInt(s) : s; } sO parse(S s) { ret classes.parse(s, a -> parseArg(a)); } p-exp { classes = new ClassesAndPatterns(myRecordClasses(), mc()); pnl(classes.entries); testFunctionValues parse( "Did X happen before Y?" := Did$HappenBefore$("X", "Y"), "when did Z happen" := WhenDid$Happen("Z"), "{event 1} happens at second 100" := $HappensAtSecond$("event 1", 100) ); }