- Start Date: (fill me in with today's date, YYYY-MM-DD)
- RFC PR: (leave this empty)
- Elix Issues: (leave this empty)
Concise (roughly one paragraph) explanation of the feature. Include a representative code snippet if it's short and self-explanatory.
What forces are driving us to do this? What are the desired outcomes? What are not goals?
What use cases does it support?
This is the bulk of the RFC. Explain the design in enough detail for somebody familiar with the framework to understand, and for somebody familiar with the implementation to implement. This should get into specifics and corner-cases, and include examples of how the feature is used. Any new terminology should be defined here.
Why should we not do this? There are tradeoffs to choosing any path, please attempt to identify them here. Consider the impact on the integration of this feature with other existing and planned features, on the impact of the API churn on existing apps, etc.
What other designs have been considered? What is the impact of not doing this?
Optional, but suggested for first drafts. What parts of the design are still TBD?