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