1 import Base 2 # Built-in transparent payloads need no caller-authored display adapter. 3 def u32(value:U32) -> U32 & String: 4 +value=value 5 (value,U32.show(value)) 6 def bool(value:Bool) -> Bool & String: 7 +value=value 8 (value,Bool.show(value)) 9 def leaf(result:U32 & String) -> Array & String: 10 match result: 11 case (value,text):(ALeaf{value},"leaf:" ++ text) 12 def node(left:Array & String,right:Array & String) -> Array & String: 13 (left,a)=left 14 (right,b)=right 15 (ANode{left,right},"node(" ++ a ++ "," ++ b ++ ")") 16 def array(value:Array) -> Array & String: 17 match value: 18 case ALeaf{value}:leaf(u32(value)) 19 case ANode{left,right}:node(array(left),array(right))