Thing :: struct { arena: *Arena; } main :: (argc: int, argv: **char): int { thing: int = proc(&argc); arena: Arena; for i:=0; i < 10; i++ { } } proc :: (thing: *int): *int { thing = SCRATCH_COUNT + 10; return thing; } Arena :: struct { cap: int; len: int; data: *void; } Thread_Ctx :: struct { arenas: [SCRATCH_COUNT]Arena; } SCRATCH_COUNT::const = 3;