1(use "errno.witx") 2(use "excuse.witx") 3 4(typename $const_excuse_array (list (@witx const_pointer $excuse))) 5(typename $excuse_array (list (@witx pointer $excuse))) 6 7(module $lists 8 (@interface func (export "reduce_excuses") 9 (param $excuses $const_excuse_array) 10 (result $error (expected $excuse (error $errno))) 11 ) 12 (@interface func (export "populate_excuses") 13 (param $excuses $excuse_array) 14 (result $error (expected (error $errno))) 15 ) 16) 17 18(typename $pair_ints 19 (record 20 (field $first s32) 21 (field $second s32))) 22 23(typename $s32 s32) 24 25(module $array_traversal 26 (@interface func (export "sum_of_element") 27 (param $elements (list $pair_ints)) 28 (param $index (@witx usize)) 29 (result $error (expected $s32 (error $errno)))) 30 31 (@interface func (export "sum_of_elements") 32 (param $elements (list $pair_ints)) 33 (param $start (@witx usize)) 34 (param $end (@witx usize)) 35 (result $error (expected $s32 (error $errno)))) 36) 37