sig module type Equal = sig val equal : 'a Generic_core.Ty.T.ty -> 'a -> 'a -> bool end module Sumprod : Equal module Conlist : Equal module Spine : Equal end