unsafe private static void WriteNumber64(StringBuilder stringBuilder, Number64 value)
        {
            const int   MaxNumberLength = 32;
            Span <byte> buffer          = stackalloc byte[MaxNumberLength];

            if (value.IsInteger)
            {
                if (!Utf8Formatter.TryFormat(
                        value: Number64.ToLong(value),
                        destination: buffer,
                        bytesWritten: out int bytesWritten))
                {
                    throw new InvalidOperationException($"Failed to write a long.");
                }

                buffer = buffer.Slice(start: 0, length: bytesWritten);

                for (int i = 0; i < buffer.Length; i++)
                {
                    stringBuilder.Append((char)buffer[i]);
                }
            }
            else
            {
                // Until we move to Core 3.0 we have to call ToString(),
                // since neither G with precision nor R are supported for Utf8Formatter.
                stringBuilder.Append(value.ToString("R", CultureInfo.InvariantCulture));
            }
        }