module type S = sig .. end
The main signature already contains every util, printer, constructors,
equality, etc. because after that it would be impossible to use
the equality t = INNER.t.
module T: TI.REPR
type t = T.t
val repr : T.t -> T.t TermMono.view