sig
  type time = int
  type ease_func = ITimed.time -> ITimed.time
  type 'a animated =
      [ `At of ITimed.time * 'a
      | `Change of ITimed.time * ITimed.time * ITimed.ease_func * 'a * 'a ]
  type 'a timed = [ `Animated of 'ITimed.animated list | `Static of 'a ]
  type t = int
  type t_x1 = ITimed.t
  type t_x2 = ITimed.t * ITimed.t
  type t_x3 = ITimed.t * ITimed.t * ITimed.t
  type t_x4 = ITimed.t * ITimed.t * ITimed.t * ITimed.t
  type t_x5 = ITimed.t * ITimed.t * ITimed.t * ITimed.t * ITimed.t
  type t_x6 = ITimed.t * ITimed.t * ITimed.t * ITimed.t * ITimed.t * ITimed.t
  type t_x7 =
      ITimed.t * ITimed.t * ITimed.t * ITimed.t * ITimed.t * ITimed.t *
      ITimed.t
  type t_x8 =
      ITimed.t * ITimed.t * ITimed.t * ITimed.t * ITimed.t * ITimed.t *
      ITimed.t * ITimed.t
  type t_x9 =
      ITimed.t * ITimed.t * ITimed.t * ITimed.t * ITimed.t * ITimed.t *
      ITimed.t * ITimed.t * ITimed.t
  type t1 = ITimed.t_x1 ITimed.timed
  type t2 = ITimed.t_x2 ITimed.timed
  type t3 = ITimed.t_x3 ITimed.timed
  type t4 = ITimed.t_x4 ITimed.timed
  type t5 = ITimed.t_x5 ITimed.timed
  type t6 = ITimed.t_x6 ITimed.timed
  type t7 = ITimed.t_x7 ITimed.timed
  type t8 = ITimed.t_x8 ITimed.timed
  type t9 = ITimed.t_x9 ITimed.timed
  val inter1 :
    ITimed.time ->
    ITimed.time -> ITimed.time -> ITimed.t_x1 -> ITimed.t_x1 -> ITimed.t_x1
  val inter2 :
    ITimed.time ->
    ITimed.time -> ITimed.time -> ITimed.t_x2 -> ITimed.t_x2 -> ITimed.t_x2
  val inter3 :
    ITimed.time ->
    ITimed.time -> ITimed.time -> ITimed.t_x3 -> ITimed.t_x3 -> ITimed.t_x3
  val inter4 :
    ITimed.time ->
    ITimed.time -> ITimed.time -> ITimed.t_x4 -> ITimed.t_x4 -> ITimed.t_x4
  val inter5 :
    ITimed.time ->
    ITimed.time -> ITimed.time -> ITimed.t_x5 -> ITimed.t_x5 -> ITimed.t_x5
  val inter6 :
    ITimed.time ->
    ITimed.time -> ITimed.time -> ITimed.t_x6 -> ITimed.t_x6 -> ITimed.t_x6
  val inter7 :
    ITimed.time ->
    ITimed.time -> ITimed.time -> ITimed.t_x7 -> ITimed.t_x7 -> ITimed.t_x7
  val inter8 :
    ITimed.time ->
    ITimed.time -> ITimed.time -> ITimed.t_x8 -> ITimed.t_x8 -> ITimed.t_x8
  val inter9 :
    ITimed.time ->
    ITimed.time -> ITimed.time -> ITimed.t_x9 -> ITimed.t_x9 -> ITimed.t_x9
  val val_at :
    (ITimed.time -> ITimed.time -> ITimed.time -> '-> '-> 'a) ->
    ITimed.time -> 'ITimed.animated list -> 'a
  val get_val :
    (ITimed.time -> ITimed.time -> ITimed.time -> '-> '-> 'a) ->
    ITimed.time -> 'ITimed.timed -> 'a
  val get_val1 : ITimed.time -> ITimed.t1 -> ITimed.t_x1
  val get_val2 : ITimed.time -> ITimed.t2 -> ITimed.t_x2
  val get_val3 : ITimed.time -> ITimed.t3 -> ITimed.t_x3
  val get_val4 : ITimed.time -> ITimed.t4 -> ITimed.t_x4
  val get_val5 : ITimed.time -> ITimed.t5 -> ITimed.t_x5
  val get_val6 : ITimed.time -> ITimed.t6 -> ITimed.t_x6
  val get_val7 : ITimed.time -> ITimed.t7 -> ITimed.t_x7
  val get_val8 : ITimed.time -> ITimed.t8 -> ITimed.t_x8
  val get_val9 : ITimed.time -> ITimed.t9 -> ITimed.t_x9
  module Labels :
    sig
      val val_at :
        f:(t:ITimed.time ->
           t1:ITimed.time -> t2:ITimed.time -> v1:'-> v2:'-> 'a) ->
        t:ITimed.time -> anim:'ITimed.animated list -> 'a
      val get_val :
        f:(t:ITimed.time ->
           t1:ITimed.time -> t2:ITimed.time -> v1:'-> v2:'-> 'a) ->
        t:ITimed.time -> v:'ITimed.timed -> 'a
      val get_val1 : t:ITimed.time -> ITimed.t1 -> ITimed.t_x1
      val get_val2 : t:ITimed.time -> ITimed.t2 -> ITimed.t_x2
      val get_val3 : t:ITimed.time -> ITimed.t3 -> ITimed.t_x3
      val get_val4 : t:ITimed.time -> ITimed.t4 -> ITimed.t_x4
      val get_val5 : t:ITimed.time -> ITimed.t5 -> ITimed.t_x5
      val get_val6 : t:ITimed.time -> ITimed.t6 -> ITimed.t_x6
      val get_val7 : t:ITimed.time -> ITimed.t7 -> ITimed.t_x7
      val get_val8 : t:ITimed.time -> ITimed.t8 -> ITimed.t_x8
      val get_val9 : t:ITimed.time -> ITimed.t9 -> ITimed.t_x9
      val inter1 :
        t:ITimed.time ->
        t1:ITimed.time ->
        t2:ITimed.time -> v1:ITimed.t_x1 -> v2:ITimed.t_x1 -> ITimed.t_x1
      val inter2 :
        t:ITimed.time ->
        t1:ITimed.time ->
        t2:ITimed.time -> v1:ITimed.t_x2 -> v2:ITimed.t_x2 -> ITimed.t_x2
      val inter3 :
        t:ITimed.time ->
        t1:ITimed.time ->
        t2:ITimed.time -> v1:ITimed.t_x3 -> v2:ITimed.t_x3 -> ITimed.t_x3
      val inter4 :
        t:ITimed.time ->
        t1:ITimed.time ->
        t2:ITimed.time -> v1:ITimed.t_x4 -> v2:ITimed.t_x4 -> ITimed.t_x4
      val inter5 :
        t:ITimed.time ->
        t1:ITimed.time ->
        t2:ITimed.time -> v1:ITimed.t_x5 -> v2:ITimed.t_x5 -> ITimed.t_x5
      val inter6 :
        t:ITimed.time ->
        t1:ITimed.time ->
        t2:ITimed.time -> v1:ITimed.t_x6 -> v2:ITimed.t_x6 -> ITimed.t_x6
      val inter7 :
        t:ITimed.time ->
        t1:ITimed.time ->
        t2:ITimed.time -> v1:ITimed.t_x7 -> v2:ITimed.t_x7 -> ITimed.t_x7
      val inter8 :
        t:ITimed.time ->
        t1:ITimed.time ->
        t2:ITimed.time -> v1:ITimed.t_x8 -> v2:ITimed.t_x8 -> ITimed.t_x8
      val inter9 :
        t:ITimed.time ->
        t1:ITimed.time ->
        t2:ITimed.time -> v1:ITimed.t_x9 -> v2:ITimed.t_x9 -> ITimed.t_x9
    end
end