sig
  type term = Nunchaku_core.TermInner.Default.t
  type mode = Elim_data_match | Elim_codata_match | Elim_both
  val name : string
  val tr_problem :
    ?mode:ElimPatternMatch.mode ->
    (ElimPatternMatch.term, ElimPatternMatch.term) Nunchaku_core.Problem.t ->
    (ElimPatternMatch.term, ElimPatternMatch.term) Nunchaku_core.Problem.t
  val pipe :
    mode:ElimPatternMatch.mode ->
    print:bool ->
    check:bool ->
    ((ElimPatternMatch.term, ElimPatternMatch.term) Nunchaku_core.Problem.t,
     (ElimPatternMatch.term, ElimPatternMatch.term) Nunchaku_core.Problem.t,
     'c, 'c)
    Nunchaku_core.Transform.t
end