sig
  val pnt : float -> AGeom.Point2d.t * AGeom.Point2d.t -> AGeom.Point2d.t
  val drv : float -> AGeom.Point2d.t * AGeom.Point2d.t -> AGeom.Vector2d.t
  val rand :
    AGeom.Point2d.t -> AGeom.Point2d.t -> AGeom.Point2d.t * AGeom.Point2d.t
  val srand :
    Random.State.t ->
    AGeom.Point2d.t -> AGeom.Point2d.t -> AGeom.Point2d.t * AGeom.Point2d.t
end