(typename $errno (enum u32 $ok $invalid_arg $dont_want_to $physically_unable $picket_line)) (typename $excuse (enum u8 $dog_ate $traffic $sleeping)) (module $foo (@interface func (export "bar") (param $an_int u32) (param $an_float f32) (result $error $errno)) (@interface func (export "baz") (param $an_excuse $excuse) (param $an_excuse_by_reference (@witx pointer $excuse)) (param $a_lamer_excuse (@witx const_pointer $excuse)) (param $two_layers_of_excuses (@witx pointer (@witx const_pointer $excuse))) (result $error $errno)) )