because it's based on slices, it's more performant than the tuple variant, but it's more error prone, because the bounds checking happens at runtime instead.