module type Float_like : sig ... end
module type S : sig ... end
module type S_invertible : sig ... end