functor (T1 : REPR) (T2 : BUILD->
  sig
    val convert : T1.t -> T2.t
    val pipe : unit -> (T1.t, T2.t, 'a, 'a) Transform.t
  end