sig
  type time = float
  type ease_func = Timed.time -> Timed.time
  type 'a animated =
      At of Timed.time * 'a
    | Change of Timed.time * Timed.time * Timed.ease_func * 'a * 'a
  type 'a timed = Static of '| Animated of 'Timed.animated list
  type t = float
  type t_x1 = Timed.t
  type t_x2 = Timed.t * Timed.t
  type t_x3 = Timed.t * Timed.t * Timed.t
  type t_x4 = Timed.t * Timed.t * Timed.t * Timed.t
  type t_x5 = Timed.t * Timed.t * Timed.t * Timed.t * Timed.t
  type t_x6 = Timed.t * Timed.t * Timed.t * Timed.t * Timed.t * Timed.t
  type t1 = Timed.t_x1 Timed.timed
  type t2 = Timed.t_x2 Timed.timed
  type t3 = Timed.t_x3 Timed.timed
  type t4 = Timed.t_x4 Timed.timed
  type t5 = Timed.t_x5 Timed.timed
  type t6 = Timed.t_x6 Timed.timed
  val inter1 :
    Timed.time ->
    Timed.time -> Timed.time -> Timed.t_x1 -> Timed.t_x1 -> Timed.t_x1
  val inter2 :
    Timed.time ->
    Timed.time -> Timed.time -> Timed.t_x2 -> Timed.t_x2 -> Timed.t_x2
  val inter3 :
    Timed.time ->
    Timed.time -> Timed.time -> Timed.t_x3 -> Timed.t_x3 -> Timed.t_x3
  val inter4 :
    Timed.time ->
    Timed.time -> Timed.time -> Timed.t_x4 -> Timed.t_x4 -> Timed.t_x4
  val inter5 :
    Timed.time ->
    Timed.time -> Timed.time -> Timed.t_x5 -> Timed.t_x5 -> Timed.t_x5
  val inter6 :
    Timed.time ->
    Timed.time -> Timed.time -> Timed.t_x6 -> Timed.t_x6 -> Timed.t_x6
  val val_at :
    (Timed.time -> Timed.time -> Timed.time -> '-> '-> 'a) ->
    Timed.time -> 'Timed.animated list -> 'a
  val get_val :
    (Timed.time -> Timed.time -> Timed.time -> '-> '-> 'a) ->
    Timed.time -> 'Timed.timed -> 'a
  val get_val1 : Timed.time -> Timed.t1 -> Timed.t_x1
  val get_val2 : Timed.time -> Timed.t2 -> Timed.t_x2
  val get_val3 : Timed.time -> Timed.t3 -> Timed.t_x3
  val get_val4 : Timed.time -> Timed.t4 -> Timed.t_x4
  val get_val5 : Timed.time -> Timed.t5 -> Timed.t_x5
  val get_val6 : Timed.time -> Timed.t6 -> Timed.t_x6
  module Labels :
    sig
      val val_at :
        f:(t:Timed.time ->
           t1:Timed.time -> t2:Timed.time -> v1:'-> v2:'-> 'a) ->
        t:Timed.time -> anim:'Timed.animated list -> 'a
      val get_val :
        f:(t:Timed.time ->
           t1:Timed.time -> t2:Timed.time -> v1:'-> v2:'-> 'a) ->
        t:Timed.time -> v:'Timed.timed -> 'a
      val get_val1 : t:Timed.time -> Timed.t1 -> Timed.t_x1
      val get_val2 : t:Timed.time -> Timed.t2 -> Timed.t_x2
      val get_val3 : t:Timed.time -> Timed.t3 -> Timed.t_x3
      val get_val4 : t:Timed.time -> Timed.t4 -> Timed.t_x4
      val get_val5 : t:Timed.time -> Timed.t5 -> Timed.t_x5
      val get_val6 : t:Timed.time -> Timed.t6 -> Timed.t_x6
      val inter1 :
        t:Timed.time ->
        t1:Timed.time ->
        t2:Timed.time -> v1:Timed.t_x1 -> v2:Timed.t_x1 -> Timed.t_x1
      val inter2 :
        t:Timed.time ->
        t1:Timed.time ->
        t2:Timed.time -> v1:Timed.t_x2 -> v2:Timed.t_x2 -> Timed.t_x2
      val inter3 :
        t:Timed.time ->
        t1:Timed.time ->
        t2:Timed.time -> v1:Timed.t_x3 -> v2:Timed.t_x3 -> Timed.t_x3
      val inter4 :
        t:Timed.time ->
        t1:Timed.time ->
        t2:Timed.time -> v1:Timed.t_x4 -> v2:Timed.t_x4 -> Timed.t_x4
      val inter5 :
        t:Timed.time ->
        t1:Timed.time ->
        t2:Timed.time -> v1:Timed.t_x5 -> v2:Timed.t_x5 -> Timed.t_x5
      val inter6 :
        t:Timed.time ->
        t1:Timed.time ->
        t2:Timed.time -> v1:Timed.t_x6 -> v2:Timed.t_x6 -> Timed.t_x6
    end
end