r1 = [0..4]
assert(r1[4], isEqualTo = 4, error = "last element is included")

four = 4
zero = 0
r2 = [zero..four]
assert(r2[4], isEqualTo = 4, error = "last element is included")

five = four + 1
r3 = [zero..five]
assert(r3[4], isEqualTo = 4, error = "second-to-last element is included")
assert(r3[5], isEqualTo = 5, error = "last element is included")

r4 = [zero + 1 .. five - 1]
assert(r4[0], isEqualTo = 1, error = "first element is 1")
assert(r4[2], isEqualTo = 3, error = "second-to-last element is 3")
assert(r4[3], isEqualTo = 4, error = "last element is 4")
