hunk.code_window:     }
       states = indexedRecord(stateElements, item => `${item.attributes!.id}`);
       on = mapValues(
         indexedAggregateRecord(
           transitionElements,
  
hunk.labels: keep keep replace replace keep keep keep
hunk.file_path: src/scxml.ts
hunk.type: replace
file: # Concepts
  
  XState is a library for creating, interpreting, and executing statecharts. Statecharts are a formalism for modeling stateful, reactive systems. Computer scientist David Harel presented this formalism as an extension to state machines in his 1987 paper [Statecharts: A Visual Formalism for Complex Systems](http://www.inf.ed.ac.uk/teaching/courses/seoc/2005_2006/resources/statecharts.pdf).
  
  ## More Resources
  
  - [The World of Statecharts](https://statecharts.github.io/) by Erik Mogensen
  - [Finite-state machine](https://en.wikipedia.org/wiki/Finite-state_machine) article on Wikipedia
  