Develop

Note that `auto_ptr` overloads `operator boolean()` to make this style of use still work even when using it instead of a real pointer.