Can you explain in the comment that we're not actually using a void*, or at least document what it actually means everywhere? I can imagine us (or other people) to be wondering what goes on with this void*.