We have a user-provided signature here, shouldn't we be passing it to the function?