Providing more restricted types that can replace raw pointers for many use cases makes languages safer.