sig
  type waiting
  type running
  type input_event
  type output_event
  type state =
      Waiting of Reactive.REACTIVE_SYSTEM_TYPE.waiting
    | Running of Reactive.REACTIVE_SYSTEM_TYPE.running
  val start : Reactive.REACTIVE_SYSTEM_TYPE.state
  val receive :
    Reactive.REACTIVE_SYSTEM_TYPE.input_event ->
    Reactive.REACTIVE_SYSTEM_TYPE.waiting ->
    Reactive.REACTIVE_SYSTEM_TYPE.state *
    Reactive.REACTIVE_SYSTEM_TYPE.output_event list
  val continue :
    Reactive.REACTIVE_SYSTEM_TYPE.running ->
    Reactive.REACTIVE_SYSTEM_TYPE.state *
    Reactive.REACTIVE_SYSTEM_TYPE.output_event list
end