sclass WithComment extends Var { S comment; *() {} *(A value) { super(value); } *(S *comment, A value) { super(value); } toString { if (empty(comment)) ret super.toString(); ret super.toString() + " [" + comment + "]"; } }