srecord IfThen(Exp in, Exp out) {} sclass Exp {} srecord Func(S name, Exp arg) extends Exp {} srecord And(Exp a, Exp b) extends Exp {} srecord Sentence(L tok) extends Exp { S text() { ret join(tok); } } srecord Sentence2(S text) extends Exp {} srecord Eq(Exp left, Exp right) extends Exp {}