Slices are tricky. If you have been using Go for a while now, you may be aware that
a slice is basically a triplet consisting of a:
- pointer to an array of values,
- the capacity of the array,
- the length of the array
This makes working with slices also a bit different than working with structs.