## Motivation

<!--
What problem are we trying to solve?
What use cases are we trying to accommodate?
(Focus on the problem and save design ideas for the next section.)
-->

## Design Alternatives

<!--
How could we accommodate the use cases above?
Is "do nothing" an option?
-->

## Design

<!--
Which design should we implement?
What are the advantages of this design?
What are some potential drawbacks of this design?
-->

### Mock-Up

<!--
What will this design look like to developers?
What will this design look like to end users?
-->

### Concepts

<!--
How will we teach this design?
What terminology will work best for the new concepts introduced by this design?
What existing precedents support the new concepts?
Where do the concepts set new precedents?
-->

### Implementation

<!--
How you would implement the design in Javascript?
How you would implement the design in C++?
What parts of the Mapbox GL ecosystem will need to change to accomodate this design?
Are there any important edge cases?
-->
