`sig
module S :
sig
type point = int * int
val ccw : point -> point -> point -> bool
val in_circle : point -> point -> point -> point -> bool
end
type triangulation
val triangulate : S.point array -> triangulation
val iter : (S.point -> S.point -> unit) -> triangulation -> unit
val fold : (S.point -> S.point -> 'a -> 'a) -> triangulation -> 'a -> 'a
val iter_triangles :
(S.point -> S.point -> S.point -> unit) -> triangulation -> unit
end`