[9223372036854775807i8, -9223372036854775808i8, 1234i8]
[2147483647i4, -2147483648i4, 1234i4]
[32767i2, -32768i2, 1234i2]
[127i1, -128i1, 123i1]
[0ia, 1_000_000_000_000_000_000_000_000_000_000ia, -1_000_000_000_000_000_000_000_000_000_000ia, 9_444_444_444_444_444_444ia]
[18446744073709551615u8, 0u8, 123u8]
[4294967295u4, 0u4, 123u4]
[65535u2, 0u2, 123u2]
[255u1, 0u1, 123u1]
[1r8, -2r8, 1.7976931348623157E+308r8, -1.7976931348623157E+308r8, 12.34r8, 1.7976931348623157E+309r8, -1.7976931348623157E+309r8, 0r8/0r8, 0r8, -0r8]
[1r4, -2r4, 3.4028235E+38r4, -3.4028235E+38r4, 12.34r4, 3.4028235E+39r4, -3.4028235E+39r4, CastR4(0r4/0r4), 0r4, -0r4]
[true, false]
[CastGuid(""), CastGuid("11223344-5566-7788-99AA-BBCCDDEEFF00")]
["Test string", "", "123"]
[CastDate("1/21/2021"), CastDate(0), CastDate("12/31/9999")]
[Time(0), Time(1, 2, 3, 4, 5), Time(-1, -2, -3, -4, -5), Time(0, 2, 3, 4, 5), Time(0, 2, 3, 4, 0)]

// Values that differ based on encoding options.
[0ia, 1_000_000_000_000_000_000_000_000_000_000ia, -1_000_000_000_000_000_000_000_000_000_000ia, 11111111111111111111111111]
Range(-3, 4)->(CastIA(-1 shl 53) + it)
Range(-3, 4)->(CastIA(1 shl 53) + it)
[1ia, -1ia, null]

[0i8, 0x7FFF_FFFF_FFFF_FFFF, 0x8000_0000_0000_0000i8]
Range(-3, 4)->((-1 shl 53) + it)
Range(-3, 4)->((1 shl 53) + it)
[1i8, -1i8, null]

[0u8, 0x8000_0000_0000_0000u8]
Range(-3, 4)->(CastU8((1u shl 53) + it))
[1u8, null]

[1.0/0, -1.0/0, 0.0/0, 3.14]
[1.0/0, -1.0/0, 0.0/0, 3.14, null]
[1.0/0, -1.0/0, 0.0/0, 3.14]->CastR4()
[1.0/0, -1.0/0, 0.0/0, 3.14, null]->CastR4()

// Strings that need escaping and special casing.
[ "\u0001", "A\"B", "A\n", "A\t", null, "A\t\n\r\u0008\u000C\"\\\u0001", "ABC\t\nABC\rABC\u0008ABC\u000CABC\"ABC\\ABC\u0001ABC" ]
