nominal i32_array = array_base i32 inl create (n : i32) : i32_array = i32_array !!!!ArrayCreate(`i32, n) inl get (array : i32_array) (i : i32) : i32 = match array with | i32_array values => !!!!ArrayIndex(values, i) inl set (array : i32_array) (i : i32) (value : i32) : () = match array with | i32_array values => !!!!ArrayIndexSet(values, i, value) inl main () : i32 = inl ~n = 7i32 inl f (z : i32) : i32_array = inl a = create 1i32 set a 0i32 n a inl ~g = f inl held = g 1i32 if get held 0i32 =. 7i32 then 0i32 else 1i32