original.name="RecursiveType_Invalid_4"
js.execute.ignore=true
======
>>> main.whiley
final int ADD = 1
final int SUB = 2
final int MUL = 3
final int DIV = 4
type binop is ({int op, expr left, expr right} r) where r.op == ADD || r.op == SUB || r.op == MUL || r.op == DIV
type expr is int | binop
public export method test():
expr e1 = {op: MUL, left: 0, right: 2}
expr e2 = {op: 0, left: {op: MUL, left: 2, right: 2}, right: 2}
---
E702 main.whiley 12,14:66
E718 main.whiley 12,14:66