Comment Comment by mjarrett Hence, Objective Caml! This can be modeled in OCaml as an object type, type foo_bar = < _foo : int; _bar : string > For a family of types matching any object with those methods, I think you can write something like type 'a has_foo_bar = < _foo : int; _bar : string; .. > as 'a parent mjarrett 2 years ago