byte :: i8; ubyte :: u8; short :: i16; ushort :: u16; int :: i32; uint :: u32; long :: i64; ulong :: u64; short_float :: f16; float :: f32; double :: f64; long_double :: f128; usize :: u64; array :: (t:type) -> type { return struct { ptr : *t; length : usize; }; }; array_int :: array(u64); main :: () -> void { a : array_int = undefined; b :u64 =2; a.length = 1; };