sig
  val abs : int -> int
  val absf : float -> float
  val ceil : float -> int
  val floor : float -> int
  val constrain : int -> int -> int -> int
  val constrainf : float -> float -> float -> float
  val dist : int -> int -> int -> int -> float
  val distf : float -> float -> float -> float -> float
  val mag : int -> int -> float
  val magf : float -> float -> float
  val lerp : int -> int -> float -> int
  val lerpf : float -> float -> float -> float
  val log : float -> float -> float
  val map : int -> int -> int -> int -> int -> int
  val mapf : float -> float -> float -> float -> float -> float
  val max : int -> int -> int
  val maxf : float -> float -> float
  val min : int -> int -> int
  val minf : float -> float -> float
  val norm : int -> int -> int -> float
  val normf : float -> float -> float -> float
  val round : float -> int
  val sqrt : float -> float
  val acos : float -> float
  val asin : float -> float
  val atan : float -> float
  val atan2 : float -> float -> float
  val cos : float -> float
  val sin : float -> float
  val tan : float -> float
  val degrees : float -> float
  val radians : float -> float
  val angle_avg : float -> float -> float
  val angle_sum : float -> float -> float
  val angle_diff : float -> float -> float
  val pi : float
  val half_pi : float
  val two_pi : float
  val e : float
  val random_int : ?lower_bound:int -> int -> int
  val random_float : ?lower_bound:float -> float -> float
  val random_bool : unit -> bool
end