functor (K : Field.T->
  sig
    type t = K.t Stdlib.Weak.t Stdlib.ref * (int -> K.t)
    val eq : Series.Make.t -> Series.Make.t -> 'a
    val get : Series.Make.t -> int -> K.t
    val coeff : Series.Make.t -> int -> K.t
    val to_string : Series.Make.t -> string
    val make : (int -> K.t) -> Series.Make.t
    val zero : Series.Make.t
    val one : Series.Make.t
    val var : Series.Make.t
    val add : Series.Make.t -> Series.Make.t -> Series.Make.t
    val sub : Series.Make.t -> Series.Make.t -> Series.Make.t
    val mul : Series.Make.t -> Series.Make.t -> Series.Make.t
    val expn : Series.Make.t -> int -> Series.Make.t
    val hadamard : Series.Make.t -> Series.Make.t -> Series.Make.t
    val cmul : K.t -> Series.Make.t -> Series.Make.t
    val neg : Series.Make.t -> Series.Make.t
    val star : Series.Make.t -> Series.Make.t
    val inv : Series.Make.t -> Series.Make.t
    module Polynomial :
      sig
        type t = K.t array
        val length : t -> int
        val degree : t -> int
        val eq : t -> t -> bool
        val compact : t -> t
        val coeff : t -> int -> K.t
        val init : int -> (int -> K.t) -> t
        val add : t -> t -> t
        val zero : 'a array
        val cmul : K.t -> t -> t
        val neg : t -> t
        val sub : t -> t -> t
        val mul : t -> t -> t
        val one : K.t array
        val to_string : t -> string
        val monomial : K.t -> int -> K.t array
      end
    val polynomial : Series.Make.Polynomial.t -> Series.Make.t
    module RationalFractions :
      sig
        module Polynomial :
          functor (F : Field.T->
            sig
              type t = Ring.Polynomial(F).t
              val eq : t -> t -> bool
              val add : t -> t -> t
              val zero : t
              val neg : t -> t
              val mul : t -> t -> t
              val one : t
              val to_string : t -> string
              val div : t -> t -> t * t
            end
        type t = Polynomial(K).t * Polynomial(K).t
        val gcd : Polynomial(K).t -> Polynomial(K).t -> Polynomial(K).t
        val canonize : t -> t
        val eq : t -> t -> bool
        val add : t -> t -> t
        val zero : t
        val neg : t -> t
        val mul : t -> t -> t
        val one : t
        val inv : t -> t
        val to_string : t -> string
      end
    val rational : Series.Make.RationalFractions.t -> Series.Make.t
  end