public header file to include in other projects
contains some type traits for checking if the type T is a unique_ptr, shared_ptr, weak_ptr, or just a T*