class ScheduleImpl implements SealedSchedule<R, A, B>, Schedule.Update<R, S, A>, Schedule.Extract<A, S, B> {

  @SuppressWarnings("unchecked")
  @Override
  public <C> Schedule<R, A, C> compose(Schedule<R, B, C> other) {
    return _compose((ScheduleImpl<R, ?, B, C>) other);
  }

  private  ScheduleImpl();

}