﻿``` i8s := [ 0x8000_0000_0000_0000i8, -1_000_000i8, -5i8, -3i8, -2i8, -1i8, 0i8, 1i8, 2i8, 3i8, 5i8, 1_000_000i8, 0x7FFF_FFFF_FFFF_FFFFi8 ];
``` u8s := [                                                                0u8, 1u8, 2u8, 3u8, 5u8, 1_000_000u8, 0xFFFF_FFFF_FFFF_FFFFu8 ];
``` u4s := [                                                                0u4, 1u4, 2u4, 3u4, 5u4, 1_000_000u4, 0xFFFF_FFFFu4 ];

i8s
u8s

i8s^2
u8s^2
i8s^10
u8s^10

Map(x: i8s, Map(y: i8s, x ^ y))
Map(x: i8s, Map(y: u8s, x ^ y))
Map(x: i8s, Map(y: u4s, x ^ y))
Map(x: u8s, Map(y: i8s, x ^ y))
Map(x: u8s, Map(y: u8s, x ^ y))
Map(x: u8s, Map(y: u4s, x ^ y))
