<function name="compute" params="block: () -> number" return="number"> <var-get name="block"> <closure-execute></closure-execute> </function>
<function-call name="compute" block> <number-new value="5"> <number-multiply value="3"> </function-call> <assert-equal value="15" type="number">
<function name="transform" params="block: () -> string" return="string"> <var-get name="block"> <closure-execute></closure-execute> </function>
<function-call name="transform" block> <string-new value="hello"> <string-uppercase> </function-call> <assert-equal value="HELLO" type="string">