On Fri, Oct 28, 2016 at 12:12 PM, Shayne Fletcher < shayne.fletcher.50@gmail.com> wrote: > ​Still stuck on how to achieve this I'm afraid. > ​Ah wait. I think I've got it. module Mul_default (E : EQ) (N : NUM with type t = E.t) : MUL_S = struct type t = E.t include (E : EQ with type t := t) include (N : NUM with type t := t) let mul (x : t) (y : t) : t = failwith "foo" end ​ -- Shayne Fletcher