!7 sclass Logic { new L assumptions; new L parsedAssumptions; void assume(S s) { assumptions.add(s); parsedAssumptions.add(assertNotNull(clParse(s))); } void verifyCalculator(S concept, O calc) { for (Lisp a : parsedAssumptions) if (a.headIs(concept)) print("Checking " + a); } } p-type { new Logic l; l.assume("iwuamaiejhsykake 'vjyukwvgqzhfcxme HELLO' 1"); l.assume("iwuamaiejhsykake 'vjyukwvgqzhfcxme HELLO, vjyukwvgqzhfcxme WORLD' 2"); psl(l.parsedAssumptions); l.verifyCalculator("iwuamaiejhsykake", func(S s) { l(tokSplitAtComma(s)) }); }