Use constexpr when possible
ptl.hpp:  Don't include type_traits