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; main :: () -> void { a :i64 = 12; b :u64 = 34; print_rev(a); print_rev(b); print_rev(); c : ()->void = a; c(); a(); }; a :: () -> void { putc 'x'; }; print_rev :: ()-> void { putc 'c'; }; print_rev :: (value:u64) -> void { putc 'a'; value := value; while { putc '0' + @cast(value % 10,u8); value /= 10; value != 0; } {} }; print_rev :: (value:i64) -> void { putc 'b'; value := value; while { putc '0' + @cast(value % 10,u8); value /= 10; value != 0; } {} };