Modify constants code to return a constant reference when returning a cached value, while still maintaining value semantics and constexpr support for built in types.