Slice is a
Pointer with an associated size.
While a pointer is unsafe because no bound checks are performed when reading from and writing to it,
reading from and writing to a slice involve bound checks.
In this way, a slice is a safe alternative to
A Slice can be created as read-only: trying to write to it
will raise. For example the slice of bytes returned by
String#to_slice is read-only.