sig
  type ('a, 'b, 'c, 'd) writer =
      'Type_class.writer0 -> ('b, 'c, 'd) Type_class.S2.writer
  type ('a, 'b, 'c, 'd) reader =
      'Type_class.reader0 -> ('b, 'c, 'd) Type_class.S2.reader
  type ('a, 'b, 'c, 'd) t = 'Type_class.t0 -> ('b, 'c, 'd) Type_class.S2.t
end