<p>
It is very easy to make our two automata communicate through
a third one. For instance we can switch on the light when the alarm is
ringing, and switch off the light when the alarm is snoozed or turned
off.
</p>

<p>
The idea is to write a one state automaton that listens to the control
signals of the alarm clock and emits control signals of the light.
</p>

<p><pre class="code">
let rec process light_clock =
  do
    halt
  until
  | ck_off ->
      emit switch_off;
      run light_clock
  | ck_bip ->
