type ('a, 'b) writer
= 'a writer0 ‑> 'b writer0
type ('a, 'b) reader
= 'a reader0 ‑> 'b reader0
type ('a, 'b) t
= 'a t0 ‑> 'b t0