make `concurrent` attribute produce substates of type `Region`
update currency methods to act on local `region` rather than `root`
add leading capture group to transition-arrow regex
add utility functions `define`, `implement`, `region`; rearrange