sig
  type t = Gg.p2
  val dim : int
  type mh = Gg.m3
  val v : float -> float -> Gg.p2
  val x : Gg.p2 -> float
  val y : Gg.p2 -> float
  val o : Gg.p2
  val mid : Gg.p2 -> Gg.p2 -> Gg.p2
  val tr : Gg.m3 -> Gg.p2 -> Gg.p2
end