/*
	Example 9: showing how the operator "Extending a state by adding a state machine to it" works.
*/
trait T1{
  sm1{    
    m1{
      t2-> m2;
    }
    m2{
      t1-> m1;
    }
  }
}
class C1{
  isA T1<sm1 as sm.s2>;
  sm{
    s1{
      e2-> s2; 
    }
    s2{
      e1-> s1;
    }
  }
}
