Module Sum (.ml)

module Sum: sig .. end

type 'a abstract 
module type ALIEN = sig .. end
module Make: 
functor (X : ALIEN) -> Sig.THEORY with type r = X.r and type t = X.r abstract