functor (X : Named_intf.S0) -> sig val typename_of_t : X.t typename end