Angular provides a mechanism to avoid name collisions in provider tokens. In this article we're going to explore how opaque tokens make this possible.