original.name="RecursiveType_Invalid_5" ====== >>> main.whiley type Expr is int | Var | BinOp type BinOp is {Expr rhs, Expr lhs} type Var is {string id} type SyntaxError is {string err} type SExpr is SyntaxError | Expr function build(int i) -> SExpr: if i > 10: return {id: "var"} else: if i > 0: return i else: return {rhs: sbuild(i + 1), lhs: sbuild(i + 10)} function sbuild(int i) -> SExpr: if i > 20: return {err: "error"} else: return build(i) --- E407 main.whiley 5,13:18 E407 main.whiley 7,21:26