sclass ParsedPowerWords { sclass Equation { S lhs, rhs; bool bothSided; *() {} *(S *lhs, S *rhs, bool *bothSided) {} toString { ret curlyIfContains("->", lhs) + (bothSided ? " <-> " : " -> ") + curlyIfContains("->", rhs); } } new L equations; new LPairS inequalities; toString { ret lines(concatLists(equations, (L) ll(""), map renderInequality(inequalities))); } }