What is the difference between an alias and a box pointer?
• A box pointer points into a reference-counted heap allocation. • An alias points to the interior of a stack or heap allocation, and formation or duplication of an alias does not entail reference counting. • Aliases can only be formed when the alias referent will provably outlive the alias. • Aliases can therefore only be declared in function or iterator signatures, as parameters. • Think of aliases as “pass by reference”. They are not for holding long-term, stable references, just for references passing between functions.