pub fn write<H, I, T, U, V, W>(
writer: W,
header: H,
mat: T,
) -> Result<(), Error>where
H: IntoIterator<Item = I>,
I: ToString + Sized,
T: IntoIterator<Item = U>,
U: IntoIterator<Item = V>,
V: ToString + Sized,
W: Write,