sig
  type vector = float * float
  type point = float * float
  type segment = Gphys.point * Gphys.point
  type 'a circle = {
    mutable cx : float;
    mutable cy : float;
    mutable r : float;
    mutable vx : float;
    mutable vy : float;
    mutable static : bool;
    custom : 'a;
  }
  val update_circles :
    'Gphys.circle list ->
    Gphys.segment list -> Gphys.vector -> float -> float -> unit
end