abstract sclass AQLLine { } sclass AQLReturn > AQLLine { S var; *() {} *(S *var) {} } sclass AQLTriple > AQLLine { T3S triple; *() {} *(T3S *triple) {} *(S a, S b, S c) { triple = t3(a, b, c); } }