functor (R : Ring.Euclidean) ->
sig
type t = R.t * R.t
val gcd : R.t -> R.t -> R.t
val canonize : Field.Fractions.t -> Field.Fractions.t
val eq : Field.Fractions.t -> Field.Fractions.t -> bool
val add : Field.Fractions.t -> Field.Fractions.t -> Field.Fractions.t
val zero : Field.Fractions.t
val neg : Field.Fractions.t -> Field.Fractions.t
val mul : Field.Fractions.t -> Field.Fractions.t -> Field.Fractions.t
val one : Field.Fractions.t
val inv : Field.Fractions.t -> Field.Fractions.t
val to_string : Field.Fractions.t -> string
end