Added non-constexpr functions. Fixed return types to match the std:: ones when it makes sense.