Pointer template: default to free(void*)