we actually can directly tell rust about the type we're supposed to receive
without needing the intermediate step where we transmute the void pointer