sig
  type time = float
  type 'a animated =
      At of Timed.time * 'a
    | Change of Timed.time * Timed.time * 'a * 'a
  type 'a timed = Static of '| Animated of 'Timed.animated list
  type float1 = float Timed.timed
  type float2 = (float * float) Timed.timed
  type float3 = (float * float * float) Timed.timed
  type float4 = (float * float * float * float) Timed.timed
  val inter1 : float -> float -> float -> float -> float -> float
  val inter2 :
    float ->
    float -> float -> float * float -> float * float -> float * float
  val inter3 :
    float ->
    float ->
    float ->
    float * float * float -> float * float * float -> float * float * float
  val inter4 :
    float ->
    float ->
    float ->
    float * float * float * float ->
    float * float * float * float -> float * float * float * float
  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.float1 -> float
  val get_val2 : Timed.time -> Timed.float2 -> float * float
  val get_val3 : Timed.time -> Timed.float3 -> float * float * float
  val get_val4 : Timed.time -> Timed.float4 -> float * float * float * float
end