yet more function pointer UB removal