Why are we doing this? What use cases does it support? What is the expected outcome?
## Detailed design
[design]: #detailed-design
This is the bulk of the proposal. Explain the design in enough detail for somebody familiar with the language to understand, and for somebody familiar with the compiler to implement, and include examples of how the feature is used. This section can start out light before the prototyping phase but should get into specifics and corner-cases as the feature is iteratively designed and implemented.
## Drawbacks
[drawbacks]: #drawbacks
Why should we *not* do this?
## Alternatives
[alternatives]: #alternatives
What other designs have been considered? What is the impact of not doing this?