original.name="RecursiveType_Valid_23"
======
>>> main.whiley
type BinOp is {Expr rhs, Expr lhs}
type Expr is BinOp | bool | Expr[]
function f(Expr e) -> int:
if e is Expr[]:
return |e|
else:
return 0
public export method test() :
int v = f([true,false,true])
assume v == 3
v = f(false)
assume v == 0
---