original.name="Template_Valid_58" ====== >>> main.whiley public type Element is { Node[] children } public type Node is Element | int[] public function h1(Node child) -> Node: return { children: [child] } public function div(Node[] children) -> Node: return { children: children } public function read(Node n) -> (int[] string): if n is int[]: return n else if |n.children| > 0: return read(n.children[0]) else: return "" public export method test(): // Construct root node Node n = div([h1("test")]) // assume read(n) == "test" ---