functor (T : TI.REPR) -> sig module T : sig type t = T.t val repr : t TI.repr end type t = T.t val repr : T.t -> T.t view end