puts :: fn(v: *u8) -> i32; print_u32 :: fn(v: u32); print_up_to :: fn(max: u32) { i := 0u32 while i < max { print_u32(i) i = i + 1u32 } } main :: fn() { print_up_to(42u32) }