module type S = sig end
sig end
type t
val euclid : t -> t -> t * t * t
t -> t -> t * t * t
t
val solve : t list -> t -> (t * t list) option
t list -> t -> (t * t list) option
t list