although a void* to NULL seems to generate a valid null pointer in LLVM, the docs nevertheless specifiy to use i8* null pointers instead