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