functor (T1 : Nunchaku_core.TermTyped.S) (T2 : Nunchaku_core.TermInner.S->
  sig
    type term1 = T1.t
    type term2 = T2.t
    val pipe :
      print:bool ->
      (Nunchaku_core.UntypedAST.statement CCVector.ro_vector,
       (TypeInference.Make.term1, TypeInference.Make.term1)
       Nunchaku_core.Problem.t, 'a, 'a)
      Nunchaku_core.Transform.t
    val pipe_with :
      decode:('-> 'd) ->
      print:bool ->
      (Nunchaku_core.UntypedAST.statement CCVector.ro_vector,
       (TypeInference.Make.term1, TypeInference.Make.term1)
       Nunchaku_core.Problem.t, 'c, 'd)
      Nunchaku_core.Transform.t
  end