turn the pi template into a proper constexpr template