The `init` function zeroes the memory. It's easier to find bugs with `uninit` because valgrind errors will be triggered.