Str16 :: String16 arena_pointer: *Arena = null thing: Arena no_type := thing arena := Arena( next = null, data = null, len = 1000, cap = 1000, // constant_inside = 10, ) Arena :: struct // arena: Arena next: *Arena data: *int len : int cap : int get_len :: (s: *Arena): int return s.next.len constant_inside :: 10000 string16: Str16 String16 :: struct data: *void len : int with_type: Arena = thing pointer := &with_type deref := *pointer