Lowering in Scala

In most programming languages there are many features that are implemented on top of a subset of that language. These features are often referred to as syntactic sugar. Often times thinking about these pieces of "sugar" in their lowered form allows us to comprehend what is going on a little…