sig
  val linear : int -> int
  val quad_in : int -> int
  val quad_out : int -> int
  val quad_inOut : int -> int
  val cubic_in : int -> int
  val cubic_out : int -> int
  val cubic_inOut : int -> int
  val quart_in : int -> int
  val quart_out : int -> int
  val quart_inOut : int -> int
  type ease =
      [ `CubicIn
      | `CubicInOut
      | `CubicOut
      | `Linear
      | `QuadIn
      | `QuadInOut
      | `QuadOut
      | `QuartIn
      | `QuartInOut
      | `QuartOut ]
  val f : IEase.ease -> int -> int
  type ease_func = int -> int
  val get_func : IEase.ease -> IEase.ease_func
  val to_string : IEase.ease -> string
  val of_string : string -> IEase.ease
end