nominal f64_array = array_base f64 inl create (n : i32) : f64_array = f64_array !!!!ArrayCreate(`f64, n) inl get (array : f64_array) (i : i32) : f64 = match array with | f64_array values => !!!!ArrayIndex(values, i) inl set (array : f64_array) (i : i32) (value : f64) : () = match array with | f64_array values => !!!!ArrayIndexSet(values, i, value) inl main () : i32 = inl ~n = 2i32 inl a = create n inl ~x = 1.5f64 set a 0i32 x set a 1i32 2.5f64 inl y = get a 0i32 if !!!!EQ(y, 1.5f64) then 0i32 else 1i32