type banana = Foo (* a dummy type *) module Banana : Eatable with type t = banana = struct type t = banana let eat _ = print_endline "I'm eating a banana" end