Was swapping between references and pointers for no reason. Just unify them here since each of these utility functions will need their parameters to be alive.
We never used these without callbacks and these will break without them in their current state. I could write the default value to return false always but that's unnecessary for now.