hello caml-list thanks for all the help so far; it's been very educational there's a type error I can't get my head around: class a = object end and b = object inherit a method d (e : b) = (e :> a) end gives the error: The abbreviation b expands to type < d : b -> a > but is used with type < > why is this?