CompositeImpl does not work well with aliases being static
Status: Alpha
Brought to you by:
jiria
If there are aliases registered during a previous Runes.carve(), then calling getStructure() in CompositeImpl may return a StructureCompositeView, which is assigned to the derived stones array. This is incorrect (cannot modify a view but will need to write into it). It is in the very same method that CompositeImpl registers the aliases in a previous run, but under a different set of conditions (namely when the base type is modeled).
Either aliases become a Runestone property instead of being static, or CompositeImpl must have a guard against this situation. At this point the former seems preferable.