is there a good reason not to use a resource handling smart pointer?